2014-01-17 2 views
0

Я новичок в Stackoverflow, и это мой первый вопрос, поэтому, пожалуйста, будьте терпеливы со мной.Размытие изображения с неравномерным фильтром

Я хочу размыть изображение с неравномерным фильтром. Однако я не полностью понял, что такое неравномерный фильтр, и я хотел бы спросить, что именно делает неравномерный фильтр, и как это может быть интуитивно понятный с точки зрения кода. Я хочу реализовать это в Matlab. Вот пример моего кода.

Неравномерное ядро ​​будет то, что

init= imread('cameraman.jpg'); 
initial = rgb2gray(init); 
sigma=3; 
H_filt = fspecial('gaussian',[5 5], sigma); 

или будет ограничено только в одном измерении?

init= imread('cameraman.jpg'); 
initial = rgb2gray(init); 
sigma=3; 
H_filt = fspecial('gaussian',[5 1], sigma); 

Заранее благодарен!

+0

Это 1D фильтр, но я не знаю, если это то, что вы подразумеваете под неравномерным. Возможно нет. Можете ли вы дать ссылку на бумагу, на которую вы ссылаетесь? – chappjc

+2

@chappjc, я думаю, что все фильтры, кроме окна окна во временной/пространственной области, являются неравномерными фильтрами ... – lennon310

+0

В основном это не касается бумаги. Что касается проекта, меня просят размыть изображение с помощью самоопределяемого неравномерного фильтра размытия. Я не уверен, означает ли это направление, к которому оно будет применено (вот почему я разместил два примера) или он имеет отношение к типу фильтра. Вот почему я выбрал гаусса. – user3204834

ответ

1

неоднородной нерезкость ядра

Неравномерной размытость ядро ​​является ядром, которое является не постоянен всего изображения.

принять некоторые примеры:

  • вне фокуса размера размытости ядра зависит от расстояния между камерой и точкой сцены (обычно называемой Z). Это явление можно использовать с помощью алгоритмов сфокусированного от дефокусировки;
  • движущийся объект в статической сцене может подвергаться размытию движения, в то время как в статических деталях, очевидно, нет размытости. У разных движущихся объектов действительно могут быть разные размытия движения;
  • объектив камеры обычно создает лучшие (четкие) изображения в центре по отношению к его границам.

Как создать Некоммерческий равномерно размытое изображение

Это зависит от того, сколько размытости ядер изображения имеет, и какие размытии вы хотите подражать.

  • Размытие размытия (функция расстояния от точки камеры) может быть смоделировано с помощью программного обеспечения для трассировки лучей.
  • Если вы тусклый генерировать неравномерное размытие по постобработки (свертка), то вам необходимо:
    1. Получить размытости ядра для пикселя под рукой (i,j): например sigma_ij = f(i,j)
    2. размывание вашего входное изображения (острый, чистый один) этим размытого ядра: H_ij = fspecial('gaussian', [some large size], sigma_ij])
    3. Записать результат вашего вывода изображения: I_final[i,j] = I_blurred_with_Hij[i,j]
    4. Перейдем к следующему пикселю.

В некоторых случаях вы можете сократить этот жадный цикл с правильными предположениями (предельный размер размытия, только два или 3 возможных размывает в образе ...).

1

Обычно они означают фильтр, который не является постоянным для каждого пикселя -> Он не является однородным пространственно.
Попробуйте реализовать гауссовское размытие, стандартное отклонение которого отличается от каждого пикселя.

Быстрый способ сделать это с помощью colfilt.

Если вам нужна дополнительная помощь, дайте мне знать.

Смежные вопросы