资源描述:
《东北大学matlab计算机图像处理实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机图像处理实验报告学院:信息学院班级:姓名:学号:实验内容:数字图像处理1、应用MATLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换;(1)、显示一副真彩RGB图像代码:I=imread('mikasa.jpg');>>imshow(I);效果:(2)、RGB转灰度图像代码:graycat=rgb2gray(I);>>subplot(1,2,1);>>subimage(I);>>subplot(1,2,2);>>subimage(graycat);效果:(3)、RGB转索引图像代码:[indcat,map]=rgb2ind(I,0
2、.7);>>subplot(1,2,1);>>subimage(I);>>subplot(1,2,2);>>subimage(indcat,map);效果:(4)、索引图像转RGB代码:I1=ind2rgb(indcat,map);>>subplot(1,2,1);>>subimage(indcat,map);>>subplot(1,2,2);>>subimage(I1);效果:(5)、索引转灰度图像代码:i2gcat=ind2gray(indcat,map);>>subplot(1,2,1);>>subimage(indcat,map);>>subplot(1,2,2);>
3、>subimage(i2gcat);效果:(6)、灰度转索引图像代码:[g2icat,map]=gray2ind(graycat,64);>>subplot(1,2,1);>>subimage(graycat);>>subplot(1,2,2);>>subimage(g2icat,map);效果:(7)、RGB转二值图像代码:r2bwcat=im2bw(I,0.5);>>subplot(1,2,1);>>subimage(I);>>subplot(1,2,2);>>subimage(r2bwcat);效果:(8)灰度转二值图像代码:g2bwcat=im2bw(graycat,
4、0.5);subplot(1,2,1);>>subimage(graycat);>>subplot(1,2,2);>>subimage(g2bwcat);效果:(9)、索引转二值图像代码:>>i2bwcat=im2bw(indcat,map,0.7);>>subplot(1,2,1);>>subimage(indcat,map);>>subplot(1,2,2);>>subimage(i2bwcat);效果:2、应用MATLAB工具箱演示一幅图像的傅里叶变换、离散余弦变换,观察其频谱图。然后将它们进行逆变换,观察逆变换后的图像;(1)傅里叶正变换代码:F=fft2(grayc
5、at);>>subplot(1,2,1);subimage(graycat);>>subplot(1,2,2);>>subimage(log(abs(F)),[3,10]);效果:(2)傅里叶反变换代码:IF=ifft2(F);>>subplot(1,2,1);>>subimage(log(abs(F)),[3,10]);>>subplot(1,2,2);subimage(uint8(IF));效果:(3)DCT变换代码:B=dct2(graycat);>>subplot(1,2,1);>>subimage(graycat);>>subplot(1,2,2);>>subima
6、ge(log(abs(B)),[3,5]);效果:(4)iDCT变换代码:iB=idct2(B);>>subplot(1,2,1);>>subimage(log(abs(B)),[3,5]);>>subplot(1,2,2);>>subimage(uint8(iB));效果:3.应用MATLAB语言编程来实现一幅图像的增强。(1)取一幅灰度图像,对其进行线性点运算,要求:要求线性函数为Y=aX+b,(a,b)分别取(1.5,1.2)、(0.7,1.2),分析变化后图像,并分析直方图。代码:graycat=double(graycat);>>graycat1=1.5*grayc
7、at+1.2;>>subplot(2,2,1);>>subimage(uint8(graycat));>>subplot(2,2,2);>>imhist(uint8(graycat));>>subplot(2,2,3);>>subimage(uint8(graycat1));>>subplot(2,2,4);>>imhist(uint8(graycat1));效果:代码2:graycat=double(graycat);>>graycat1=0.7*graycat+1.2;>>subplot(2,2,1