您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 数字图像处理实验matlab
计算机图像处理姓名:学号:班级:实验一:了解数字图像处理平台一、实验目的(1)学会使用扫描仪;(2)熟悉MATLAB软件。二、实验内容(1)用扫描仪扫一幅彩色图片;一幅灰度图片。(2)熟悉MATLAB的主界面窗口中各个窗口的功能,利用不同的矩阵输入方式给矩阵赋值,了解MATLAB的简单编程及矩阵基本知识;(3)掌握使用MATLAB的帮助来获得更多的信息。三、实验仪器设备扫描仪、计算机和MATLAB应用软件。实验二:图像处理一、实验目的(1)通过应用MATLAB语言编程实现对图像的处理,进一步熟悉MATLAB软件的编程及应用;(2)通过实验进一步掌握图像处理的基本技术和方法。二、实验内容1.应用MATLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换。显示原始图像:I=imread('D:\tu.jpg');imshow(I);RGB灰度图像:代码:I=imread('D:\tu.JPEG');imshow(I)graytu=rgb2gray(I);subplot(1,2,1);subimage(I);subplot(1,2,2);subimage(graytu)效果:1002003004005010015020025030010020030040050100150200250300RGB转二值图像:代码:[indtu,map]=rgb2ind(I,0.5);subplot(1,2,1);subimage(I);subplot(1,2,2);subimage(indtu,map)效果:100200300400100200300100200300400100200300索引转RGB图像:代码:I1=ind2rgb(indtu,map);subplot(1,2,1);subimage(indtu,map);subplot(1,2,2);subimage(I1)效果:100200300400100200300100200300400100200300索引转灰度图像:代码:I2gtu=ind2gray(indtu,map);subplot(1,2,1);subimage(indtu,map);subplot(1,2,2);subimage(I2gtu)效果:100200300400100200300100200300400100200300灰度转索引图像:代码:[g2itu,map]=gray2ind(graytu,64);subplot(1,2,1);subimage(graytu);subplot(1,2,2);subimage(g2itu,map)效果:100200300400100200300100200300400100200300RGB转二值图像:代码:r2bwtu1=im2bw(I,0.8);subplot(1,2,1);subimage(I);subplot(1,2,2);subimage(r2bwtu1)代码:效果:100200300400100200300100200300400100200300灰度转二值图像代码:g2bwtu1=im2bw(graytu,0.8);subplot(1,2,1);subimage(graytu);subplot(1,2,2);subimage(g2bwtu1)效果:100200300400100200300100200300400100200300索引转二值图像代码:i2bwtu=im2bw(indtu,map,0.5);subplot(1,2,1);subimage(indtu,map);subplot(1,2,2);subimage(i2bwtu)效果:1002003004001002003001002003004001002003002.应用MATLAB工具箱演示一幅图像的傅里叶变换、离散余弦变换,观察其频谱图,然后将它们进行逆变换,观察逆变换后的图像(1)傅里叶正变换代码:F=fft2(graytu);subplot(1,2,1);subimage(graytu);subplot(1,2,2);subimage(log(abs(F)),[3,10])效果:100200300400100200300100200300400100200300(2)傅里叶反变换代码:IF=ifft2(F);subplot(1,2,1);subimage(log(abs(F)),[3,10]);subplot(1,2,2);subimage(uint8(IF))效果:100200300400100200300100200300400100200300(3)DCT变换代码:B=dct2(graytu);subplot(1,2,1);subimage(graytu);subplot(1,2,2);subimage(log(abs(B)),[3,5])效果:100200300400100200300100200300400100200300(4)IDCT变换代码:iB=idct2(B);subplot(1,2,1);subimage(log(abs(B)),[3,5]);subplot(1,2,2);subimage(uint8(iB))效果:100200300400100200300100200300400100200300总结:傅里叶变化:傅里叶变换是一种特殊的积分变换。它能将满足一定条件的某个函数表示成正弦基函数的线性组合或者积分。DCT变换:离散余弦变换的重要特点是能量集中,信号常将其能量的大部分集中于频率域的一个小范围内,这样描述不重要的分量只需要很少的比特数;频率域分解映射了人类感觉系统的处理过程,并允许后继的量化过程满足其灵敏度的要求。变化后,能量集中的范围可以精细的量化,其他的范围可以粗糙量化,这样处理,不会引起太大的精度问题,符合人体的听觉,视觉需要。这样量化后,可以用小的数据量来保存采集的数据,对处理音频,视频等数据非常有效。3.应用MATLAB语言编程来实现一幅图像的增强(1)取一幅灰度图像,对其进行线性点运算,要求:要求线性函数为Y=aX+b,(a,b)分别取(1.5,1.2)、(0.7,1.2),分析变化后图像,并分析直方图。代码:graytu=double(graytu);graytu1=1.5*graytu+1.2;subplot(2,2,1);subimage(unit8(graytu));subimage(uint8(graytu));subplot(2,2,2);imhist(uint8(graytu));sublpot(2,2,3);subplot(2,2,3);subimage(uint8(graytu1));subplot(2,2,4);imhist(uint8(graytu1))效果:1002003004001002003000500100015002000010020010020030040010020030005000100000100200代码2:graytu=double(graytu);graytu1=0.7*graytu+1.2;subplot(2,2,1);subimage(uint8(graytu));subplot(2,2,2);imhist(uint8(gtaytu));imhist(uint8(graytu));subplot(2,2,3);subimage(uint8(graytu1));subplot(2,2,4);imhist(uint8(graytu1))效果:100200300400100200300100200300400100200300050010001500200001002000100020000100200总结:当a=0.7时,图像对比度减小,输出灰度值范围减小;当a=1.5时,图像对比度增大,输出灰度值范围增大。(2)取一幅灰度图像,对其进行直方图均衡化处理,再对其进行规定化处理,并对结果进行分析代码:graytu=uint8(graytu);eqtu=histeq(graytu);subplot(2,2,1);subimage(graytu);subplot(2,2,2);imhist(graytu);subplot(2,2,3);subimage(eqtu);subplot(2,2,4);imhist(eqtu)效果:1002003004001002003001002003004001002003000500100015002000010020001000200030000100200规定化代码:代码:hgram=50:2:250;speciatu=histeq(graytu,hgram);subplot(2,2,1);subimage(graytu);subplot(2,2,2);imhist(graytu);subplot(2,2,3);subimage(speciatu);subplot(2,2,4);imhist(speciatu)效果:100200300400100200300100200300400100200300050010001500200001002000100020000100200总结:图像均衡化将一已知灰度概率密度分布的图像经过某种变换,变成一具具有均匀灰度概率密度分布的新图像。其结果扩展了像元取值的动态范围,从而到达了增强图像整体效果的对比。直方图规定化能自动增强整个图像的对比度,但它的具体增强效果不易控制,处理的结果总是得到全局的均衡化直方图。思考题:如果将一幅图像进行一次直方图均衡化处理后,再进行一次直方图均衡化处理,结果会发生变化吗?观察两次均衡化的直方图是否一样。答:2次均衡化的结果是一样的代码:subplot(2,2,1);J=histeq(graytu);JJ=histeq(J);imhist(J);subplot(2,2,2);imhist(JJ);subplot(2,2,3);imshow(J);subplot(2,2,4);imshow(JJ)效果:0100020003000010020001000200030000100200(3)取一幅灰度图像,加入噪声后对其进行平滑滤波(均值滤波、中值滤波),并观察不同滤波方式下的效果代码:noisetu=imnoise(graytu,'salt&pepper',0.02);avetu=filter2(fspecial('average',3),noisetu)/255;metu=mefilt2(noisetu,[3,3]);metu=medfilt2(noisetu,[3,3]);subplot(2,2,1);subimage(graytu);title('原图');subploy(2,2,2);sunimage(noisetu);title('加椒盐噪声');subplot(2,2,2);subimage(noisetu);title('加椒盐噪声图');subplot(2,2,3);subimage(avetu);titlt('均值平滑图');subplot(2,2,3);subimage(avetu);title('均值平滑图');subplot(2,2,4);subimage(medtu);title('中值滤波图')subplot(2,2,4);subimage(metu);titl
本文标题:数字图像处理实验matlab
链接地址:https://www.777doc.com/doc-2387946 .html