VIP STUDY сегодня – это учебный центр, репетиторы которого проводят консультации по написанию самостоятельных работ, таких как:
  • Дипломы
  • Курсовые
  • Рефераты
  • Отчеты по практике
  • Диссертации
Узнать цену

Фурье преобразований и дискретных Фурье преобразований

Внимание: Акция! Курсовая работа, Реферат или Отчет по практике за 10 рублей!
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Код работы: W011850
Тема: Фурье преобразований и дискретных Фурье преобразований
Содержание
Содержание
     
     Введение	3
     1.	Базовые определения	5
     2.	Корреляция как мера между изображениями	6
     3.	Свёртка 2-ух функций	7
     4.	Преображение Фурье	8
     4.1.	Одномерное Преобразование Фурье	8
     4.2.	Многомерное преобразование Фурье	8
     4.3.	Дискретное преобразование Фурье	8
     4.4.	Фурье-преобразования для вычисления свёртки	9
     4.5.	Фурье-преобразования для решения задачи	9
     5.	Постановка и решение задачи	11
     5.1 Постановка задачи	11
     5.2 Формула и Алгоритм поиска фрагмента	11
     6.	Программная реализация	13
     Заключение	15
     Список литературы	16
     Приложение 1	17
     Приложение 2	18
     
     Введение
     
     Компьюторное виденье основывается на сведеньях с камер. Это смогут водиться и в стереокамерах, и в многокамерных системах. Введение основы трехмерных предметов и текстур дозволяет «осознать», с чем конкретно встретился бот. Он отмеряет промежуток от объекта «воспринимая» пространство и, ориентируясь в нем, выделяет преграды в зоне перемещения. Зрение подсобляет роботу не просто работать с вещами и ситуацией, однако и узнавать людей, их лица и жесты, делая упор на особые программы распознавания. Эти данные в собственную хронологию запускают конкретные сценарии действий. 
     Обычное умение “начального уровня”, сопоставления нынешнего описания с образцом базируется в анализе изображений будто двумерных функций яркости (разрывных двумерных матриц интенсивности). При данном измеривается или отдаление меж изображениями, или мерка их недалекости.
     Будто принцип, в расчете расстояний меж описаниями употребляется формула, которых являются суммой модулей либо квадратов разностей напряженности:
     d(X,Y) = SUM ( X[i,j] — Y[i,j] )^2
     Ежели не считая обыденного сравнения 2-ух описаний потребуется постановить задачку показывания позиции отрыва 1-го представления в ином, так образцовый прием “исходного значения”, содержащийся в переборе всех место положений и расчетов интервала по сообразно подтвержденном составе, будто принцип, выносит неуспех практичного применения изо-из-за необходимого огромной численности расчетов.
     Один из способов, дозволяющих существенно уменьшить численность расчетов, является внедрении Фурье преображений и разрывных Фурье переустройства для вычисления меры совпадения 2-ух изображений около различных смещениях их меж собой. Подсчёты при данном совершаются одновременно для разных комбинаций сдвигов описаний условно друг друга.
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
1. Базовые определения
     
     Устройство 1. Корреляцией  2-ух функций F и G именуется значение:  = SUM F(i)*G(i)
     
     Устройство 2. Свёрткой 2-ух функций F и G зовется функцией FхG(t) = SUM F(i)*G(j)|i+j=t
     
     Устройство 3. Преображение Фурье (?) — действие, сравнивающая     1-ой функции материальной переменной иную функцию, тоже материальной переменной. Данная новенькая функция обрисовывает коэффициенты («амплитуды») при разложении исходной функции в обыкновенные образующие — гармонические шатания с различными частотами.
     
     Устройство 4. Разрывное преображение Фурье (в английской литературе DFT, Discrete Fourier Transform) — это 1 из переустройства Фурье, обширно применяемых в алгоритмах числового обрабатывания сигналов (его модификации используются в сжатии звука в MP3, сжатии описаний в JPEG и др.), а еще в других участках, сопряженных с разбором частот в разрывном (к образцу, оцифрованном аналоговом) сигнале. Разрывные преображения Фурье требует в качестве входа дискретную функцию. Эти функции нередко формируют маршрут дискретизации (подборки значимостей изо постоянных функций). Разрывные преображения Фурье помогают решать дифференциальные уравнения в личных производных и делать подобные действия, будто свёртки. Разрывные преображения Фурье в свою очередь темпераментно употребляются в статистике, при разборе временных линий. Имеется многомерные разрывные преображения Фурье.
2. Корреляция как мера между изображениями
     
     Станем применять в качестве критерии меж описаниями формулу:
m(X,Y) = SUM(X[i,j]*Y[i,j])/(SQRT(SUM X[i,j] ^2)*SQRT(SUM Y[i,j] ^2))
       либо
m(X,Y) =  / ( SQRT ( ) * SQRT ( ) )
     Предоставленное значение получена из-за действий скалярного творения векторов (осматривая описания как векторы в многомерном месте). И, в том числе больше — данная формула презентует собой и обычную статистическую формулу аспекта про гипотезы о совпадении 2-ух вероятностных распределений.
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
3. Свёртка двух функций
     
     Пускай G’(t) = G(-t) и F’(t) = F(-t), то, явна верность равенств:
* FхF’(0) = SUM F(i)^2 – скалярное творение вектора F на самого себя
* GхG’(0) = SUM G(j)^2– скалярное творение вектора G на самого себя
* FхG’(0) = SUM F(i)*G(i) – скалярное произведение 2-ух векторов F и G
       Итак ведь несомненно, что FхG’(t) одинакова корреляции получаемой в итоге сдвига 1-го вектора, условно иного на шаг t (это просто протестировать очевидной подстановкой значимости в формулу корреляции).
       
       
       
       
       
       
       
       
       
       
       
       
       
       
4. Преобразование Фурье
4.1. Одномерное Преобразование Фурье
     
     Преобразование Фурье функции f вещественной переменной является интегральным и задаётся следующей формулой:
     
4.2. Многомерное преобразование Фурье
     
     Преобразование Фурье функций, заданных на пространстве ?^n, определяется формулой:

Обратное преобразование в этом случае задается формулой:


4.3. Дискретное преобразование Фурье
     
     Прямое преобразование:
     
     Обратное преобразование:
     
     Дискретное преобразование Фурье считается линейным преобразованием, которое переводит вектор временных отсчётов в вектор спектральных отсчётов той же длины. Таким образом преобразование может быть реализовано как умножение симметричной квадратной матрицы на вектор:
     
4.4. Фурье-преобразования для вычисления свёртки
     
     Пусть (t) равна корреляции получаемой в итоге сдвига одного вектора, относительно другого на шаг t. Тогда, как уже показано ранее, выполняется 
     (t) = FхG’(t) = BFT ( FFT(F)*FFT(G’) )
     Если используются реализации алгоритма трансформации Фурье через комплексные числа, то такие преобразования обладают ещё одним замечательным свойством:
     FFT(G’) = CONJUGATE ( FFT(G) )
     Где CONJUGATE ( FFT(G) ) – матрица, составленная из сопряжённых элементов матрицы FFT(G). Таким образом, получаем
     (t) = BFT ( FFT(F)*CONJUGATE ( FFT(G) ))
4.5. Фурье-преобразования для решения задачи
     
     При применении формулы для оценки расстояния между изображениями при сдвиге (i,j) относительно друг друга
     m(X,Y) (i,j) = (i,j) / ( |X|(i,j) ) * |Y|(i,j) )
     получаем, что
*  = XxY’ = BFT ( FFT(X) * CONJUGATE ( FFT(Y) ) )
* |X|^2 =  = XxX’xE’ = BFT ( FFT(X) * CONJUGATE ( FFT(X) ) * CONJUGATE ( FFT(E) ) ) = BFT ( SQUAREMAGNITUDE( FFT(X) ) * CONJUGATE ( FFT(E) ) )
* |Y|^2 =  = YxY’xE’ = BFT ( FFT(Y) * CONJUGATE ( FFT(Y) ) * CONJUGATE ( FFT(E) ) )
     Где
* (i,j) – скалярное произведение двух изображений, получаемых при сдвиге (i,j) относительно друг друга изображений X и Y
* E – изображение размера равному минимальным размерам X и Y, и заполненное единичными значениями (то есть “кадр” в котором сравниваются X и Y)
* |X|(i,j) – норма общей части изображения X при сдвиге (i,j)
* |Y|(i,j) – норма общей части изображения Y при сдвиге (i,j)
* FFT – операция прямого двухмерного дискретного преобразования Фурье
* BFT – операция обратного двухмерного дискретного преобразования Фурье
* CONJUGATE – операция вычисления матрицы из сопряжённых элементов
* SQUAREMAGNITUDE– операция вычисления матрицы квадратов амплитуд элементов
     5. Постановка и решение задачи 
     
     5.1 Постановка задачи
     
     * Пусть даны два изображения X и Y – изображение и образец, размеров (N1,N2) и (M1,M2) соответственно и Ni > Mi
     * Требуется найти координаты образца Y в полном изображении X и вычислить оценочную величину — меру близости.
     5.2 Формула и Алгоритм поиска фрагмента	
     
     Облегчение формул для заключения установленной задачки
     При ответе на задачки для разыскивания 1-го стандарта, добавочное нормировка стандарта считается лишним, а еще расчет общепризнанных мерок у единой доли возможно быть замененым на сумму яркостей пикселей в данной единой доли либо на сумму квадратов яркостей в данной единой доли. При применении формулы для оценки интервала меж описаниями при сдвиге (i,j) относительно друг друга
     m(X,Y) (i,j) = (i,j) / |X|^2(i,j),
     получаем, что
*  = BFT ( FFT(X) * CONJUGATE ( FFT(Y) ) )
*  = BFT ( SQUAREMAGNITUDE( FFT(X) ) * CONJUGATE ( FFT(E) ) )
     Где
* (i,j) – скалярное творение 2-ух описаний, получаемых при сдвиге (i,j) условно друг друга изображений X и Y
* E – изображение объема одинаковому минимальным объёмам X и Y, и переполненное одиночными значениями (то есть “кадр” в котором сравниваются X и Y)
* (i,j) – норма (сумма яркостей пикселей) единой доли описания X при сдвиге (i,j)
* FFT – процесс непосредственного двухмерного разрывного преображения Фурье
* BFT – процесс обратного двухмерного разрывного преображения Фурье
* CONJUGATE – процесс вычисления матрицы из сопряжённых элементов
* SQUAREMAGNITUDE– процесс вычисления матрицы квадратов амплитуд элементов
     Метод поиска отрывка в наполненном изображении
1) Увеличить изображение Y до размера (N1,N2), дополнив его нулями
2) Образовать изображение E из единиц размера (M1,M2) и увеличить до размера (N1,N2), дополнив его нулями
3) Определить  = BFT ( FFT(X) * CONJUGATE ( FFT(Y) ) )
4) Определить  = BFT ( SQUAREMAGNITUDE( FFT(X) ) * CONJUGATE ( FFT(E) ) )
5) Определить M[i,j] = (f +  [i,j])/(f +  [i,j])
6) В матрице M найти элемент с наибольшим значением – положение данного элемента и считается искомой позицией эталона в наполненном изображении, а значение одинаково значениям меры сравнения.
     
     
6. Программная реализация
     Для решения задачи в общем виде, т.е. с любыми входными значениями и при любых условиях, была написала программа на слоге программирования общего назначения C++ в интегрированной в сфере разработки Visual Studio 2013. Код программы (см. Приложение 2).
     
     Применяемые макробиблиотеки
* OpenCV – C++ макробиблиотеки строений и алгоритмов для обрабатывания описаний
* FFTW – C++ макробиблиотеки реализующая методы моментального разрывного преображения Фурье
     
     В самом коде указывается путь до оригинала изображения и шаблона.
     В результате выполнения программы получаем найденный шаблон, выделенный на оригинале изображения. (рис. 1) еще один пример(см. Приложение 1).
     
     Рис. 1. Вывод данных.
     

     Заключение	
     Для начала имелись неудачные пробы пребывания шаблона на другом изображение классическим методом “Начального уровня”. Однако дальше, постановив применять Фурье преобразований и дискретных Фурье преобразований все таки удалось получить тот итог, который был ожидаем.
     На основе этого метода была написана код программы который искала образец на изображение и отмечала его местоприбывание.
     При продолжение работы думаю будет возможно улучшить этот метод, тем самым повысить его эффективность и скорость работы.

     Список литературы
1) А.Л. Дмитриев. Зрительные способы обрабатывания данных. Тренировочное руководство. СПб. СПюГУИТМО 2005. 46 с.
2) А.А.Акаев, С.А.Майоров «Зрительные способы обрабатывания информации» М.:1988
3) Дж.Гудмен «Вступление в Фурье-оптику» М.: Мир 1970
     
     

     Приложение 1
     Пример
     
     
     
     
     Приложение 2
     Код программы на языке программирования C++.
#include "HEader.h"
#include "opencv2/imgproc/imgproc.hpp" 
#include "opencv2/highgui/highgui.hpp" 
#include "fftw3" 
#include 

using namespace std;



IplImage* image = 0;
IplImage* templ = 0;

int main(int argc, char* argv[])
{
	// имя картинки задаётся первым параметром
	char* filename = argc >= 2 ? argv[1] : "test/22.jpg";
	// получаем картинку
	image = cvLoadImage(filename, 1);

	printf("[i] image: %s\n", filename);
	assert(image != 0);

	// шаблон
	char* filename2 = argc >= 3 ? argv[2] : "test/2.jpg";
	printf("[i] template: %s\n", filename2);

	templ = cvLoadImage(filename2, 1);
	assert(templ != 0);

	cvNamedWindow("origianl", CV_WINDOW_AUTOSIZE);
	cvNamedWindow("template", CV_WINDOW_AUTOSIZE);
	cvNamedWindow("Match", CV_WINDOW_AUTOSIZE);
	cvNamedWindow("res", CV_WINDOW_AUTOSIZE);

	// размер шаблона
	int width = templ->width;
	int height = templ->height;

	// оригинал и шаблон
	cvShowImage("origianl", image);
	cvShowImage("template", templ);

	// изображение для хранения результата сравнения
	// размер результата: если image WxH и templ wxh, то result = (W-w+1)x(H-h+1)
	IplImage *res = cvCreateImage(cvSize((image->width - templ->width + 1), (image->height - templ->height + 1)), IPL_DEPTH_32F, 1);

	// сравнение изображения с шаблоном
	cvMatchTemplate(image, templ, res, CV_TM_SQDIFF);

	// покажем что получили
	cvShowImage("res", res);

	// определение лучшее положение для сравнения
	// (поиск минимумов и максимумов на изображении)
	double    minval, maxval;
	CvPoint    minloc, maxloc;
	cvMinMaxLoc(res, &minval, &maxval, &minloc, &maxloc, 0);

	// нормализуем
	cvNormalize(res, res, 1, 0, CV_MINMAX);
	cvNamedWindow("res norm", CV_WINDOW_AUTOSIZE);
	cvShowImage("res norm", res);

	// выделим область прямоугольником
	cvRectangle(image, cvPoint(minloc.x, minloc.y), cvPoint(minloc.x + templ->width - 1, minloc.y + templ->height - 1), CV_RGB(255, 0, 0), 1, 8);

	// показываем изображение
	cvShowImage("Match", image);

	// ждём нажатия клавиши
	cvWaitKey(0);

	// освобождаем ресурсы
	cvReleaseImage(&image);
	cvReleaseImage(&templ);
	cvReleaseImage(&res);
	cvDestroyAllWindows();
	return 0;
       }
     
     	
     
     13
     
     
.......................
Для получения полной версии работы нажмите на кнопку "Узнать цену"
Узнать цену Каталог работ

Похожие работы:

Отзывы

Спасибо, что так быстро и качественно помогли, как всегда протянул до последнего. Очень выручили. Дмитрий.

Далее
Узнать цену Вашем городе
Выбор города
Принимаем к оплате
Информация
Наши преимущества:

Экспресс сроки (возможен экспресс-заказ за 1 сутки)
Учет всех пожеланий и требований каждого клиента
Онлай работа по всей России

По вопросам сотрудничества

По вопросам сотрудничества размещения баннеров на сайте обращайтесь по контактному телефону в г. Москве 8 (495) 642-47-44