Гость
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Обратное преобразование Фурье / 22 сообщений из 22, страница 1 из 1
25.04.2011, 01:20
    #37231237
Zzyb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
народ, подскажите изза чего при обратном преобразовании фурье на картинке появляется шум??

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
 procedure  TForm1.Button2Click(Sender: TObject);
 var 
  i,j,y,x,u,v :integer;
  re,im,md    :real;
  f           :integer;
  scan  : pByteArray;
 begin 
     bmp1:=TBitmap.Create;
     bmp2:=TBitmap.Create;
     Jpg := TJPEGImage.Create;
     Jpg.LoadFromFile(opendialog1.FileName);
     Bmp2.Assign(Jpg);
     for  y:= 0   to  M -  1   do    begin 
       for  x:= 0   to  N -  1   do    begin 
          md :=  0 ;  Re :=  0 ;  Im :=  0 ; f :=  1 ;
           for  V:= 0   to  M -  1   do   begin 
               for  U:= 0   to  N -  1   do   begin 
                Re := Re + (f)*irmage[v,u].Re * cos( 2 *pi*(u*x/M+v*y/N)) -
                           (f)*irmage[v,u].Im * sin( 2 *pi*(u*x/M+v*y/N));
                Im := Im + sin( 2 * 3 . 14 *(u*x/M+v*y/N)) * irmage[u,v].Im;
               end ;
           end ;
           if  odd(x+y)  then  f := f*(- 1 );
          md := sqrt(Re*Re/m*n + Im*Im/m*n);
          i := round(Re*f);
          bmp2.Canvas.Pixels[x,y] := rgb( i, i, i );
       end ;
     end ;
    image3.Picture.Bitmap.Assign(bmp2);
 end ;
...
Рейтинг: 0 / 0
25.04.2011, 01:22
    #37231240
Zzyb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
...
Рейтинг: 0 / 0
25.04.2011, 01:24
    #37231242
Zzyb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
выше сам исходник, а вот картинка результата
...
Рейтинг: 0 / 0
25.04.2011, 15:02
    #37232142
Обратное преобразование Фурье
Скорее всего проблема с точностью представления чисел, округлением и преобразованием целых в вещественные и обратно. Почему у вещественных тип real, а не extended или хотя бы double?
...
Рейтинг: 0 / 0
25.04.2011, 21:08
    #37232704
mr_idea
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
странно, у меня шума не было.
а производительность твоего алгоритма какая, например рисунок в 800x600 на машине класса core 2 duo сколько обрабатывается?
...
Рейтинг: 0 / 0
26.04.2011, 11:21
    #37233255
Zzyb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
mr_ideaстранно, у меня шума не было.
а производительность твоего алгоритма какая, например рисунок в 800x600 на машине класса core 2 duo сколько обрабатывается?

))) лдучше не спрашивай!))))
...
Рейтинг: 0 / 0
26.04.2011, 11:34
    #37233290
defecator
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
Zzybmr_ideaстранно, у меня шума не было.
а производительность твоего алгоритма какая, например рисунок в 800x600 на машине класса core 2 duo сколько обрабатывается?

))) лдучше не спрашивай!))))

Я пользуюсь библиотекой Intel Perfomance Primitives.
Обработка картинки 1024x768x24 на моем Intel Core 2 Quad Q6600 2.4 ГГц занимает меньше секунды.
...
Рейтинг: 0 / 0
26.04.2011, 11:34
    #37233292
OracleX
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
Может быть использовать 3D-ускоритель и сравнить?
...
Рейтинг: 0 / 0
26.04.2011, 11:36
    #37233295
OracleX
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
defecator
Цифровая голография?
...
Рейтинг: 0 / 0
26.04.2011, 11:37
    #37233300
Zzyb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
кстати проблему решил)

банально забыл множитель перед образом 1/M*N...) по сути не важно куда его вставлять, но я вставил в прямое..

Программа конечно медленная, и вякое такое.. но всеж влажу ее, вдруг кому понадобится для начала...
там еще что то вроди первых попыток фильтра) вобщем он просто обнуляет среднее значение на изображении или просто частоту F(0,0). по гансалесу это фильтр-пробка))))
...
Рейтинг: 0 / 0
26.04.2011, 11:38
    #37233304
Zzyb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
defecatorZzybпропущено...


))) лдучше не спрашивай!))))

Я пользуюсь библиотекой Intel Perfomance Primitives.
Обработка картинки 1024x768x24 на моем Intel Core 2 Quad Q6600 2.4 ГГц занимает меньше секунды.

завидую тебе ;)
...
Рейтинг: 0 / 0
26.04.2011, 11:38
    #37233307
Соколинский Борис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
[quot defecator]ZzybОбработка картинки 1024x768x24 на моем Intel Core 2 Quad Q6600 2.4 ГГц занимает меньше секунды. Это тот случай, когда использование GPU наиболее эффективно. Будет еще быстрее.
Ну и автору не мешало бы FFT освоить.
...
Рейтинг: 0 / 0
26.04.2011, 11:40
    #37233315
Zzyb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
[quot Соколинский Борис]defecatorпропущено...
Это тот случай, когда использование GPU наиболее эффективно. Будет еще быстрее.
Ну и автору не мешало бы FFT освоить.

освою!!!!
...
Рейтинг: 0 / 0
26.04.2011, 11:43
    #37233324
defecator
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
[quot Соколинский Борис]defecatorпропущено...
Это тот случай, когда использование GPU наиболее эффективно

Согласен на 200%.
У меня есть скачанные из сети примеры использования CUDA (через OpenCL) в программах Delphi как раз на случай решения задачи FFT.
Так там FFT делается в реальном времени, 30 кадров в секунду для картинки 1280x1024x24 с качественной веб-камеры.

CUDA - дык вообще зверь.
...
Рейтинг: 0 / 0
26.04.2011, 14:47
    #37233855
olegbank
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
а если фото человека обработать туда-сюда,то черная панель в конце,хотя прямое проходит.почему?
...
Рейтинг: 0 / 0
26.04.2011, 14:49
    #37233859
Zzyb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
olegbankа если фото человека обработать туда-сюда,то черная панель в конце,хотя прямое проходит.почему?

8 битное должно быть
...
Рейтинг: 0 / 0
27.04.2011, 05:16
    #37235008
AsPiro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
ZzybПрограмма конечно медленная, и вякое такое.. но всеж влажу ее, вдруг кому понадобится для начала... Ну так ускорь!
Благо для этого всего-то нужно заменить отдельные вызовы функций sin и cos на один вызов sincos. Ну и так по мелочи:)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
29.04.2012, 00:55
    #37776533
Volchitsa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
подскажите, пожалуйста, а можно сделать так чтобы программа вместо картинки обрабатывала просто двумерный массив данных??
...
Рейтинг: 0 / 0
29.04.2012, 01:27
    #37776546
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
Volchitsaподскажите, пожалуйста, а можно сделать так чтобы программа вместо картинки обрабатывала просто двумерный массив данных??Картинка это и есть двумерный массив данных
...
Рейтинг: 0 / 0
29.04.2012, 01:41
    #37776550
olegbank
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
да,Волчица,я с Василиском согласен.если не секрет,вам зачем,лабораторная?просто если что серьезное делать,вроде такой вопрос не должен возникать..
...
Рейтинг: 0 / 0
29.04.2012, 11:02
    #37776627
Volchitsa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
Спасибо)))да, лаба...пытаюсь разобраться в двумерном преобразование Фурье, особо ничего серьезного....просто еще путаюсь с некоторыми вопросами(((
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
10.08.2021, 10:29
    #40089803
2pa_top
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обратное преобразование Фурье
Здравствуйте, а тема ещё жива?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Обратное преобразование Фурье / 22 сообщений из 22, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]