资源描述:
《基于matlab的数字图像处理fft ifft dct idct...》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、数字图像处理课程设计1、课程设计的目的与意义通过本课程设计使学生了解数字图像的基本概念,掌握数字图像处理的基本内容,如图像点运算、几何变换、增强处理、图像复原、边缘检测以及图像压缩等的基本原理和Matlab实现方法。通过本次课程设计,让学生掌握如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。扩展理论知识,培养学生的综合设计能力。2、课程设计内容2.1图像处理基本功能1)数字图像的变换:普通傅里叶变换(ft)与逆变换(ift)、快速傅里叶变换(fft)与逆变换(ifft)、离散余弦变换(DCT),小波变换。
2、2)数字图像直方图的统计及绘制等;3)基于Matlab的图像平滑算法实现及应用2.2图像处理综合功能1)图像复原程序设计l创建一个仿真运动/均值模糊PSF来模糊一幅图像(图像自选)。l针对退化设计出复原滤波器,对退化图像进行复原(复原的方法自定)。l对退化图像进行复原,显示复原前后图像,对复原结果进行分析,并评价复原算法。2)给定a,b,c,d概率,进行huffman编码,要求显示原图像、压缩后图像的文件大小、压缩比;或采用小波变换进行编码3、课程设计背景与基本原理3.1课程设计背景数字图像处理(DigitalImageProcessing
3、)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。3.2课程设计基本原理3.2.1傅里叶变换傅里叶变换是可分离和正交变换中的一个特例,对图像的傅里叶变换将图像从图像空间变换到频率空间,从而可利用傅里叶频谱特性进行图像处理。从20世纪60年代傅里叶变换的快速算法提出来以后,傅里叶变换在信号处理和图像处理中都得到了广泛的使用。3.2.2离散余弦变换离散余弦变换(discretecosinetransform,DCT)是一种可分离和正
4、交变换并且是对称的。它与傅里叶变换也有密切的联系,近年得到了广泛应用,特别是在图像压缩领域。1-D离散余弦变换和其反变换由以下两式定义:14数字图像处理课程设计u=0,1,...,N-1x=0,1,...,N-1其中a(u)为归一化加权系数,由下式定义:2-DdDCT对由下面两式定义:u,v=0,1,...,N-1x,y=0,1,...,N-13.2.3小波变换小波变换的基础:序列展开、缩放函数和小波函数。小波变换和Gabor变换相同的事在时间上和频率上都具有局部化的能力,时间窗口长度与频率窗口长度的乘积是常数。它与Gabor变换不同的是时
5、间窗口尺寸与频率窗口尺寸互成反变化,对不同的图像都有较好的效果。2-D小波变换的实现因为缩放函数和小波函数都是可分离的,所以可对f(x,y)的行先进行1-D变换再对结果进行变换。下图是小波变换的方框图:列↓2hv(-m)↓2hv(-n)hu(-m)↓2hv(-m)↓2↓2↓2hu(-n)hu(-m)14数字图像处理课程设计小波变换的结果是将图像进行了分解,这种分解是从高尺度向低尺度进行的。小波分解的结果是将图像划分成了子图像的集合。在第一级小波分解时,原始图像被划分成了一个低频子图像LL和三个高频子图像HH,LH,和HL的集合。在第二级小波
6、分解时,低频子图像LL继续被划分成了LL的一个低频子图像和三个高频子图像的集合,而原来第一级分解得到的三个高频子图像不变。上述分解过程可以这样继续下去,得到越来越多的子图像。3.2.4哈夫曼编码哈夫曼编码是消除编码冗余最常用的技术。当对信源符号逐个编码时,哈夫曼编码能给出最短的码子。根据无失真编码定理哈夫曼编码方式对固定阶数的信源是最优的。4、源代码及处理结果4.1图像处理基本功能普通傅里叶变换(ft)与逆变换(ift)、快速傅里叶变换(fft)与逆变换(ifft)、离散余弦变换(DCT),小波变换;数字图像直方图的统计及绘制等;图像平滑算
7、法实现及应用。4.1.1正逆傅里叶变换img=imread('D:/sxy.jpg');subplot(2,2,1),imshow(img);title('原图');f=rgb2gray(img);subplot(2,2,2),imshow(f);title('傅里叶变换');%二维傅里叶变换F=fft2(f);%======傅里叶变换FS=fftshift(F);%======将变换的频率图%频谱S=log(1+abs(FS));subplot(2,2,3);imshow(S,[])title('直接变换频谱图');;%%二维傅里叶逆变换
8、fr=real(ifft2(ifftshift(FS)));%===频域的图反变ret=im2uint8(mat2gray(fr));%===取其灰度图subplot(2,2,4