注:
2、运行如下程序: bw = imread('text.png)
a = bw(32:45,88:98); %a=imcrop(bw); figure,subplot(1,2,1),imshow(bw); subplot(1,2,2), imshow(a);
C = real(ifft2(fft2(bw) .* fft2(rot90(a,2),256,256))); figure,subplot(1,2,1), imshow(C,[]) ; max(C(:));thresh = 60;
subplot(1,2,2), imshow(C > thresh);% 解释说明FFT变换图像特征识别的原理; 傅立叶变换可用来分析图像的相关性,相关性可确定一幅图像的特征,此意义下,相关性通常称为模板匹配。自己与自己的相关性最强,此时相关函数可达峰值。 而FFT变换可用于图像的相关函数计算,在数字图像处理相关的运算中用于图像匹配,可以对某些模板对应的特征进行定位。算法是:以待定的目标为模板在待识别图像上滑动,对运算接过取适当阈值,确定待定位目标的位置。
二、DCT变换
1、运行如下语句,分析显示结果: %应用MATLAB实现图像的DCT变换。
A=imread('pout.tif'); %读入图像
I=dct2(A); %对图像作DCT变换 subplot(1,2,1)
imshow(A); %显示原图像 subplot(1,2,2)
imshow(log(abs(I)),[0 5]);
显示图像DCT变换后的图像,发现DCT变换后数值较大的主要集中在一部分区域(左上角),而非所有区域。
2、
运行如下语句,分析显示结果 üT变换重构图像
RGB=imread('autumn.tif'); figure(1),imshow(RGB); I=rgb2gray(RGB); figure(2),imshow(I);
J=dct2(I);figure(3),imshow(log(abs(J)),[]),colormap(jet(64)),colorbar;
J(abs(J)<10)=0; K=idct2(J)/255;
figure(4),imshow(K);
对原图像DCT变换后,保留大于某阈值的DCT系数值,其余为0,利用idct重
构图像,与原图像画质相比,损失很少,这为图像压缩提供了思路。
3、运行如下程序,分析运行结果: D= imread('D:\\lena.jpg'); D1=rgb2gray(D); s=size(D1); D2=dct2(D1); D3=idct2(D2);
P=zeros(s);P1=P;P2=P;P3=P; P1(1:10,1:10)=D2(1:10,1:10); P2(1:30,1:30)=D2(1:30,1:30); P3(1:60,1:60)=D2(1:60,1:60); E1=idct2(P1); E2=idct2(P2); E3=idct2(P3);
subplot(2,3,1); imshow(D1); subplot(2,3,2); imshow(D2); subplot(2,3,3);image(D3)
subplot(2,3,4); image(E1); subplot(2,3,5); image(E2); subplot(2,3,6); image(E3)
通过以上实例,分析DCT变换应用于图像恢复与压缩的原理。
对原图像DCT变换后,分别保留DCT系数矩阵大小分别为10*10,20*20,30*30的值,其余为0,而后利用idct变换进行重构图像,与原图像画质相比,并比较各重构图像之后的效果图,可以发现只要保留最主要的一些系数,无需全部DCT系数来重构,图像就能达到较好的重构效果,这为图像压缩提供了思路。
三、练习并简单了解Radon变换 利用demos演示完成
运行demos,而后查找radon变换,查询相关的使用实例
【思考题】
1、FFT变换具有哪些性质?应用于数字图像处理后,如何体现出来 答:平移性:原图像平移,变换图像幅值图没有变化。
旋转不变性:如果原函数旋转一个角度,则变换函数同样旋转相同的角
比例性质(尺度变换特性):原图像的缩放,影响到变换图像的缩放。时域中信号被压缩,频域中信号就被拉伸。 2、FFT为什么能用于图像压缩?
答:FFT变换系数刚好表现的是各个频率点上的幅值。在小波变换没有提出时,用来进行压缩编码。考虑到高频反映细节、低频反映景物概貌的特性。往往认为可将高频系数置为0,骗过人眼。这样只需主要考虑保留低频系数,达到了压缩的目的。
3、解释FFTshift函数的功能?
答:傅里叶变换以零点为中心,导致谱图像最亮点在图像的左上角。为符合正常习惯,将谱图像的原零点从左上角移到显示屏的中心。函数fftshift(I)
可将变换后图像频谱中心从矩阵原点移到矩阵中心。即矩阵I一、三象限和二、四象限进行互换。而图像的四个象限是指以矩形图像的纵向以及对横向对称轴所分割的四个区域。
4、图像还有哪些正交变换,为什么正交变换可以用于图像压缩? 答;图像还有DCT,沃尔什,哈达玛变换,K_L,小波变换等,
信号经过正交变换,分解成相互独立的若干分量,去除分量中的某一部分分量对于其他分量并无影响。于是,在可以容忍的前提下,选择正交分量中非本质的部分去除掉,留下信号的本质分量。整个信号量减小,即被压缩。
5、简单叙述Radon变换用于直线检测的原理?
答:对原始图像进行radon变换,radon变换矩阵中的峰值,即原始图像中的直线。因为存在直线时,该直线的点经过radon变换后沿着某个方向(角度)有多次投影,存在累计最大值。
【实验报告要求】
1、实验报告写明实验题目,可简写实验原理,实验内容,详细写实验过程和实验结果分析,要求附相关程序。
2、回答思考题,写在实验报告上
实验4 MATLAB实现数字图像增强(2学时)
【实验内容】 1、灰度变换
(1)、利用直接灰度变换法对任选的一副图像进行灰度变换(imjust函数),要求将原图像0.5到0.75的灰度级扩展到范围[0 1],再实现明暗转换(负片图像),显示原图,直方图,处理后的图像。 参考程序如下:
I=imread('flower.tif'); Y=rgb2gray(I); M=255-Y;%负片
J=imadjust(Y,[0.5,0.75],[0,1]);% 将原图像0.5到0.75的灰度级扩展到范围[0 1]
subplot(3,3,1),imshow(Y); subplot(3,3,2),imshow(J); subplot(3,3,3),imshow(M); subplot(3,3,4),imhist(Y); subplot(3,3,5),imhist(J); subplot(3,3,6),imhist(M);
显示结果:
(2)、一幅灰度图像如图4.4左(也可选用任意一副灰度图像),运用imadjust函数,将0~60灰度级压缩到0~30范围内,压缩比1/2;60~180的灰度级扩大到30~240,比率为190/120;将180~255灰度级压缩到240~255范围内,压缩比为15/75。效果图如图右。
图4.4 线性灰度变换例图
参考程序如下:
I1=imread(‘fruit.jpg’);
I2=imadjust(I1,[0 ,60]/255,[0,30]/255,0.5,[60,180]/255,[30,240]/255,19/12,[180,255]/255,[240,255]/255,15/75);
subplot(2,1,1),imshow(I1,[]),title(‘原图’);
subplot(2,1,2),imshow(I2,[]),title(‘灰度变换后图’) (3)、对数变换
对数变换常用来扩展低值灰度,压缩高值灰度,这样可以使低值灰度的图像细节更容易看清楚。对数变换的表达式为: g(x,y)=log[f(x,y)+1]
运行如下程序,分析显示结果 I=imread('pout.png'); subplot(121),imshow(I); I=double(I);J=log(I+1); subplot(122),imshow(J,[]);

