当前位置:首页 > 仲恺农业工程学院图像处理实验二
实验二 图像灰度、滤波处理、MATLAB自制动画
一、实验目的
1、掌握图像灰度转换、去色;
2、了解图像频率域高斯低通滤波、空域高斯低通滤波、sobel空域滤波器、sobel频域滤波器的操作实例; 3、了解MATLAB自制一些微小的动画; 4、了解自制动画的一些相关算法及实现操作;
二、实验内容
1、取一幅风景图片; 2、将这幅图像进行灰度处理;
3、之后依次进行频率域高斯低通滤波、空域高斯低通滤波、sobel空域滤波器滤波、sobel频域滤波器滤波操作;
4、取十几张大小一致,且具有联系的图片,图片内容在先后顺序上具有一定联系;
5、通过算法把这些图片进行连接起来,形成动画效果;
三、实验工具
PC机,MATLAB软件
四、实验原理与步骤
1、打开MATLAB,新建M文件,之后进行灰度处理(要求512*512) ,得到如下结果:
>> f=imread('yp.JPG'); >> f=rgb2gray(f);
>> f=imresize(f,[512 512],'bicubic'); >> imshow(f);
>> imwrite(f, 'huidu.jpg');
2、进行频率域高斯低通滤波,结果如下:
Y=fft2(double(f));
Imshow(log(1+abs(fftshift(Y)))); figure, imshow(real(ifft2(Y))); H=fspecial('gaussian', 15, 7); Imshow(imfilter(f,H));
title('频率域高斯低通滤波');
imwrite(imfilter(f,H),'频率域高斯低通滤波.jpg');
3、接着进行空域高斯低通滤波处理,结果如下:
Hf= freqz2(H,size(f)); G=Hf.*Y
Imshow(real(ifft2(G))); title('空域高斯低通滤波');
imwrite(real(ifft2(G)),'空域高斯低通滤波.jpg');
4、接着再进行sobel空域滤波器滤波和sobel频域滤波器滤波,结果如下:
sobel空域滤波器 h=fspecial('sobel') freqz2(h)
PQ = 2*size(f);
H = freqz2(h,PQ(1),PQ(2)); H1 = ifftshift(H);
gs = imfilter(double(f),h);
gf=dftfilt(f,H1); imshow(gs,[ ]);
title('sobel空域滤波器'); sobel频域滤波器
figure,imshow(gf,[ ]); title('sobel频域滤波器')
5、打开MATLAB,新建M文件,之后进行一下算法运算,得到一个微小动画:
I=cell(1,15); for b=1:15
m1=imread([int2str(b),'.jpg']); I{b}=m1; imshow(I{b}); M(:,b)=getframe; s=0;
for t=1:1000000 s=s+t; end end
movie(M,3)
五、实验总结
在这个实验中,我对图像处理技术有了更多的了解了,掌握了灰度处理,了解了图像频率域高斯低通滤波、空域高斯低通滤波、sobel空域滤波器、sobel频域滤波器的滤波操作,其次我还认识了MATLAB自制动画的相关算法,同时也这个软件有了更多的了解,对一些基本操作有了更全面的认识,在实验中,我学到了MATLAB这个软件编译运行的快捷操作,也自行调试了界面的人性化,这样能提高工作效率对
MATLAB这个软件在图像处理方面有了更深层次的了解,也加深对该软件的基本操作的认识,对今后学习有更大的帮助。
共分享92篇相关文档