dlinyj: (Default)
[personal profile] dlinyj
С лёгкой подачи [livejournal.com profile] eddy_em , начал курить FFT для поверхности. Он дал гениальную подсказку: ведь любое изображение - это и есть поверхность! Координаты x,y - это разрешение картинки, а z - яркость отдельного пикселя.
Хороший пример синусоидальное изображение и его трёхмерный график (т.е. просто по яркости построена третья координата)


Волновая картинка и её трёхмерное представление


По началу я даже слабо себе представлял как это и что это такое. Погуглил по теме и нашёл замечательный сайтец, на котором всё становится ясно просто по картинкам http://www.qsimaging.com/ccd_noise_interpret_ffts.html . В конце всего мегагайда там есть ссылка на кроссплатформенную программу http://rsb.info.nih.gov/ij/download.html (виндузятники возрадуйтесь :) ). Попробовал, программа просто кошерная, "но есть нюанс" (С). FFT она делает как-то не так. Если поглядеть картинки в примерах, то после преобразования такой синусоиды должно получится акуратные три точки, а у меня получаются три точки и ещё какой-то шум


Исходное изображение, FFT в примере, и мой вариант. Разница наглядна...


Но другая "плюха", это возможность трёхмерного представления любой картинки (например, вот в начале поста). И можно представить эту спектрограмму в виде трёхмерного графика (с которым удобнее работать)


Моя же спектрограмма


В общем, понял что тема очень неплохая, но нужно попробовать другие методы. И тут мне подсказывает товарищ M E о том, что такие петрушки можно делать с помощью imagemagic! За что ему говорю БОЛЬШОЕ СПАСИБО! Моментально нагугливаю мануал. Пробую пример (обращаю внимание,что картинка в примере генерится та же самая, что в заголовке поста):

convert -size 128x129 gradient: -chop 0x1 -rotate 90 -evaluate sine 4 sine4.png

Всё отлично, генерируется картинка, как выше. После чего хочу её отфурьячить, и выполняю:

convert sine4.png -fft +delete -auto-level -evaluate log 100 sine4_spectrum.png

И получаю корзинку МПХ:

dlinyj@dlinyj-G31M-S2L:~/tmp/fft$ convert sine4.png -fft +delete -contrast-stretch 0 -evaluate log 100 sine4_spectrum.png
convert: delegate library support not built-in `sine4.png' (FFTW) @ warning/fourier.c/ForwardFourierTransformImage/630.
convert: missing an image filename `sine4_spectrum.png' @ error/convert.c/ConvertImageCommand/3011.


Погуглил. Поставил: libfftw3-3 libfftw3-dev libjpeg62-dev libjpeg8-dev libjpeg8 fftw2 fftw-dev и... И то же самое. Печалька... Но в любом случае, ощутил всю мощ, так сказать. Надо будет наконец дописать программу, а то нетерпится попробовать, даже с косячащим преобразованием.

З.Ы. Ещё одна ссылочка, про Фурье и Imagemagick http://www.fmwconcepts.com/imagemagick/fourier_transforms/fourier.html . Для себя
Ещё одна ссылка про установку Imagemagick http://www.imagemagick.org/discourse-server/viewtopic.php?t=14251&p=49140

Date: 2013-02-11 07:21 pm (UTC)
From: [identity profile] aterentiev.livejournal.com
хммм, а у тебя картинка бесконечная?
а если нет, то почему ты удивляешься "шуму"? :)

Date: 2013-02-11 07:26 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Потому, что в примерах его нет. А они получены тем же способом.
Edited Date: 2013-02-11 07:26 pm (UTC)

Date: 2013-02-11 07:28 pm (UTC)
From: [identity profile] aterentiev.livejournal.com
это какие-то неправильные пчелы и неправильный мед :)

Date: 2013-02-11 07:30 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
В целом ты прав. Я по тому не особо парюсь, ибо всё зависит от правильности выбора окна :)

Date: 2013-02-11 07:31 pm (UTC)
From: [identity profile] aterentiev.livejournal.com
кстати да, имхо выбирать надо целое число периодов для чистоты эксперимента
(deleted comment)

Date: 2013-02-11 07:51 pm (UTC)
From: [identity profile] aterentiev.livejournal.com
о, точно, и это еще, да

Date: 2013-02-11 08:03 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Это попадает в понятие "окна" :)

Date: 2013-02-11 07:55 pm (UTC)
From: [identity profile] aterentiev.livejournal.com
картинко, кстати, этому удовлетворяет
может, еще шумы квантования? :)
(deleted comment)

Date: 2013-02-11 07:58 pm (UTC)
From: [identity profile] aterentiev.livejournal.com
цифра цифрой, но синус же на картинке не чистый, а оцифрованный

Date: 2013-02-11 07:30 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Как уже сказал aterentiev, шум появляется из-за того, что само по себе преобразование Фурье работает на R. А у тебя ограниченная картинка — вот и выскакивают краевые эффекты.
Для опытов советую все-таки не мучиться с ImageMagic (все-таки, основное ее предназначение несколько иное), а поставить себе GNU Octave. Примеры работы с ней можешь у меня посмотреть (http://eddy-em.livejournal.com/tag/octave), а еще куча примеров в интернете для матлаба (а октава имеет такой же синтаксис и для нее полно уже модулей — считай, 99% матлабовского кода в ней заработает).
Если поставишь еще и VaveLab для октавы, сможешь поиграться с вейвлет-преобразованиями.
Ну и конечно, советую Гонсалеса и Вудса полистать. Очень познавательно.

Date: 2013-02-11 07:44 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Никогда не работал с Матлабом, к своему стыду. В институте мы юзали Маткад. Я вейвлет преобразования открыл для себя только сегодня, после этого. :)

Вообще, как это ни странно, до этого НИКОГДА не работал с картинками! Ну школьные опыты с фотошлёпом не в счёт.

Гонсалеса и Вудса качнул ещё вчера, полистал кратенько. Почитать нормально пока времени нет. Читаю книгу проф. Шноля, как её осилю, так буду читать остальное. Невероятно занимательно, он доказывает опытным путём, о влиянии космических объектов на распределение случайных чисел.

Тебе, как астроному и учёному должно быть весьма интересно. Чтобы сразу не отмахиваться, мол всё это ерунда, скажу, что товарищ основатель кафедры биофизики в МГУ, автор множества работ, стоял у истоков множества величайших открытий СССР, в общем очень знаменитый чел. У Гордона в программе был, по культуре выступал и т.п. :) . Ну и для справки, своим этим исследованием занимается с 50-х годов. Так что, человек, который ведёт исследование 60 лет, вряд ли будет шарлатаном.

... тут Остапа понесло :) ...

Edited Date: 2013-02-11 07:46 pm (UTC)

Date: 2013-02-11 10:05 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
> Я вейвлет преобразования открыл для себя только сегодня, после этого. :)
А я вот не помню: писал ли я статейку куда-нибудь о применении вейвлетов для автофокусировки... Кажется, все-таки в ЖЖшке писал…

> Читаю книгу проф. Шноля
Как называется?

Date: 2013-02-12 04:10 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Конкретно книжка: Шноль С.Э. - Космофизические факторы в случайных процессах - 2009 г. Я нашёл в pdf. Вот http://rutracker.org/forum/viewtopic.php?t=2901227

Но там 350 страниц. Если интересно кратко ознакомится с его работами, то можно посмотреть интересное видео:
ACADEMIA. Симон Шноль. "У истоков молекулярной биологии".

1-я лекция (эфир 18 октября 2010 года)
http://static.tvkultura.ru/v/186304.flv
ACADEMIA. Симон Шноль. "У истоков молекулярной биологии".
2-я лекция (эфир 19 октября 2010 года)
http://static.tvkultura.ru/v/186868.flv

И/или прочитать статью http://www.trinitas.ru/rus/doc/0202/010a/02020052.htm или вот http://www.chronos.msu.ru/RREPORTS/shnol_ufn.pdf . Но последнее не даёт полной картины, т.к. они достаточно далеко ушли в перёд от этих публикаций.
(deleted comment)

Date: 2013-02-11 08:04 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
С горя пошёл учить матчасть...

Date: 2013-02-11 10:08 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Это нахрапом не сделаешь: я, например, с полгода готовил свои лекции (http://eddyem.narod.ru/sgu/Kompobr.pdf), а лабораторки (http://eddyem.narod.ru/sgu/KompObr-posobie.pdf) уже на студентах обкатывал в течение года. Кстати, хотел туда побольше запихнуть, но курс был слишком мелким (часов не хватало).
(deleted comment)

Date: 2013-02-11 08:02 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Ну сие есть логично :). Сейчас мылся в душе, представлял преобразование Фурье для четырёхмерного пространства.

Date: 2013-02-12 07:20 am (UTC)
From: [identity profile] aterentiev.livejournal.com
порвало :)

Date: 2013-02-20 03:56 am (UTC)
From: [identity profile] m e (from livejournal.com)
да, че-то в дебиане (и наверно убунте) imagemagick без fft -- впрочем, у меня imagemagick своей сборки, с fft

пишут что тут вот для винды с fft http://blog.astrophotographytargets.com/2012/03/imagemagick-with-fftw-delegate-library-on-windows/ (но я не проверял)

картинка у меня 3 точки + *периодически* более слабые точки, но размазни явно нет http://imageshack.us/photo/my-images/40/62023623.gif/

у тебя размазня может быть как из-за странностей программы, так из-за того, что предположительно у тебя края синусоиды обрезаны -- они же должны "сходиться"

January 2026

S M T W T F S
    123
456 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 07:00 pm
Powered by Dreamwidth Studios