傅里叶变换是空域到频域的变换方法
用途:一般用于对出现频率高的像素点的分析以及噪声的去除
频率图特点:图像中心是频率为0的原点,由内到外频率越来越高; 期中颜色变换激烈的地方对应高频成分,如边缘;颜色变换不大的地方对应低频
1.jpg
在HDevelop中
dev_update_off() read_image(Image,'D:/bb/tu/1.jpg') rgb1_to_gray(Image,Image1) fft_image (Image1, ImageFFT) *傅里叶变换 *参数2:傅里叶变换图像 get_image_size (ImageFFT, Width, Height) dev_open_window(0,100,Width, Height,'black',WindowHandle) dev_display(ImageFFT) ********傅里叶变换图像的应用********* area_center (ImageFFT, Area, Row, Column) gen_circle (Circle, Row, Column, 20) paint_region (Circle, ImageFFT, ImageResult, 0, 'fill') *参数4用0填充,目的就是屏蔽掉一些低频 fft_image_inv (ImageResult, ImageFFTInv) *傅里叶逆变换 *参数1:输入图像 *参数2:保存变换后的图像 get_image_size (ImageFFTInv, Width1, Height1) dev_open_window(0,100,Width1, Height1,'black',WindowHandle1) dev_display(ImageFFTInv) *说明:通过逆变换后的图像可以看到,一些低频图像(背景)被去掉了
在Qt Creator中
HObject ho_Image, ho_Image1, ho_ImageFFT, ho_Circle;
HObject ho_ImageResult, ho_ImageFFTInv;
HTuple hv_Width, hv_Height, hv_WindowHandle;
HTuple hv_Area, hv_Row, hv_Column, hv_Width1, hv_Height1;
HTuple hv_WindowHandle1;
ReadImage(&ho_Image, "D:/bb/tu/1.jpg"); Rgb1ToGray(ho_Image, &ho_Image1); FftImage(ho_Image1, &ho_ImageFFT); //傅里叶变换 //参数2:傅里叶变换图像 GetImageSize(ho_ImageFFT, &hv_Width, &hv_Height); SetWindowAttr("background_color","black"); OpenWindow(0,100,hv_Width,hv_Height,0,"visible","",&hv_WindowHandle); HDevWindowStack::Push(hv_WindowHandle); if (HDevWindowStack::IsOpen()) DispObj(ho_ImageFFT, HDevWindowStack::GetActive()); //*******傅里叶变换图像的应用********* AreaCenter(ho_ImageFFT, &hv_Area, &hv_Row, &hv_Column); GenCircle(&ho_Circle, hv_Row, hv_Column, 20); PaintRegion(ho_Circle, ho_ImageFFT, &ho_ImageResult, 0, "fill"); //参数4用0填充,目的就是屏蔽掉一些低频 FftImageInv(ho_ImageResult, &ho_ImageFFTInv); //傅里叶逆变换 //参数1:输入图像 //参数2:保存变换后的图像 GetImageSize(ho_ImageFFTInv, &hv_Width1, &hv_Height1); SetWindowAttr("background_color","black"); OpenWindow(0,100,hv_Width1,hv_Height1,0,"visible","",&hv_WindowHandle1); HDevWindowStack::Push(hv_WindowHandle1); if (HDevWindowStack::IsOpen()) DispObj(ho_ImageFFTInv, HDevWindowStack::GetActive()); //说明:通过逆变换后的图像可以看到,一些低频图像(背景)被去掉了