Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница:

 

  Вопрос: Фильтрация. И рады Фурье. Добавлено: 21.06.06 01:13  

Автор вопроса:  Victor | Web-сайт: vt-dbnz.narod.ru | ICQ: 345743490 
Если кто помнит, я как-то поднимал вопрос о восстановлении исходного рисунка из фильтрованного, если известна маска фильтрации.
Короче было решено, что это скорее всего невозможно.
Для справок
http://vbnet.ru/forum/show.aspx?id=89862

Учусь в универе, видимо, не зря. Вот нам рассказали, что есть такое преобразование, называется фурье. И что оно бывает многомерным (меня волнует двухмерное).

Кроме того, нам рассказали, что есть такая операция, называется свертка.

Свертка двух функций f,g есть функция, задаваемая формулой: (f ж g)(от икс) = интеграл(по t от минус бесконечности до плюс бесконечности){ f(t)*g(x-t) }
(это в случае, если функции определены на всей оси)
(оператором ж я обозначил свертку)

Вся соль свертки в том, что фурье-разложение результата есть произведение фурье-разложений фций f,g:
Fourier(f ж g) (ОтЧастоты) = Fourier(f)(ОтЧастоты)*Fourier(g)(ОтЧастоты)*нормировка

Так вот надо заметить, что фильтрация - это по сути дела свертка, только функции подозрительные.

И идея такова. После применения маски кфц-ты фурье исходного рисунка были умножены на кфц-ты фурье маски. А что ести всять ту самую маску, обратить ее кфц-ты фурье и затем применить новую маску к исходному изображению... По идее, если все правильно сделать, должна получиться так желаемая исходная картинка! :)

НО! как только я собрался это реализовывать, мгновенно понял, что не знаю, насколько данное верно в моем случае
и
самое главное в какой области брать преобразования фурье для маски: считая ее размером самой себя или увеличенной (дополненной нулями) до размеров рисунка. Это вопрос жизни и смерти, так как сделать преобразование фурье от большого рисунка - для меня пока непостижимо (у меня от 25х25 считается approx 10сек :( )

Помогите мне в этом разобраться (если здесь есть люди, разбирающиеся в преобразованиях фурье дискретных данных)!

У меня тут с преобразованием фурье и то какие-то глюки... Вроде надо a_0 пополам делить, а работает только если не делить...

Ответить

  Ответы Всего ответов: 0  

Нет ответов

Страница:

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам