数字图像处理-实验报告(完整版)28570.pdf
《数字图像处理-实验报告(完整版)28570.pdf》由会员分享,可在线阅读,更多相关《数字图像处理-实验报告(完整版)28570.pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数字图像处理 实验一 MATLAB 数字图像处理初步 一、显示图像 1利用 imread()函数读取一幅图像,假设其名为 lily.tif,存入一个数组中;2利用 whos 命令提取该读入图像 flower.tif 的基本信息;3利用 imshow()函数来显示这幅图像;实验结果如下图:源代码:I=imread(lily.tif)whos I imshow(I)二、压缩图像 4利用 imfinfo 函数来获取图像文件的压缩,颜色等等其他的详细信息;5 利用 imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的 jpg 文件,设为 lily.jpg;语法:imwrite(原图像,新图
2、像,quality,q),q 取 0-100。6同样利用 imwrite()函数将最初读入的 tif 图象另存为一幅 bmp 图像,设为 flily.bmp。7用 imread()读入图像 Sunset.jpg 和 Winter.jpg;8用 imfinfo()获取图像 Sunset.jpg 和 Winter.jpg 的大小;9用 figure,imshow()分别将 Sunset.jpg 和 Winter.jpg 显示出来,观察两幅图像的质量。其中 9 的实验结果如下图:源代码:46(接上面两个)I=imread(lily.tif)imfinfo lily.tif;imwrite(I,lil
3、y.jpg,quality,20);imwrite(I,lily.bmp);79 I=imread(Sunset.jpg);J=imread(Winter.jpg)imfinfo Sunset.jpg imfinfo Winter.jpg figure(1),imshow(Sunset.jpg)figure(2),imshow(Winter.jpg)三、二值化图像 10用 im2bw 将一幅灰度图像转化为二值图像,并且用 imshow 显示出来观察图像的特征。实验结果如下图:源代码:I=imread(lily.tif)gg=im2bw(I,0.4);Figure,imshow(gg)原始图像:
4、四、思考题(1)简述 MatLab 软件的特点。答:高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;具有完备的图形处理功能,实现计算结果和编程的可视化;友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。(2)MatLab 软件可以支持哪些图像文件格式?JPEG、JPEG、PCX、TIFF、PNG、GIF、HDF、XWD 等等。(3)说明函数 imread 的用途格式以及各种格式所得到图像的性质。imread 函数用于读入各种图像文件,其一般的用法为 X,MAP=im
5、read(,fmt)其中,X,MAP 分别为读出的图像数据和颜色表数据,fmt 为图像的格式,为读取的图像文件(可以加上文件的路径)。(4)为什么用 I=imread(lena.bmp)命令得到的图像 I 不可以进行算术运算?Matlab 系统默认的算术运算时针对双精度类型(double)的数据,而上述命令产生的矩阵的数据类型是无符号 8 位,直接 进行运算会溢出。实验二 图像的代数运算 一图像的加法运算 在MATLAB中,如果要进行两幅图像的加法,或者给一幅图像加上一个常数,可以调用imadd函数来实现。imadd函数将某一幅输入图像的每一个像素值与另一幅图像相应的像素值相加,返回相应的像素
6、值之和作为输出图像。imadd函数的调用格式如下:Z=imadd(X,Y)其中,X和Y表示需要相加的两幅图像,返回值Z表示得到的加法操作结果。实验结果如下图:源代码:I=imread(Sunset.jpg);J=imread(Bluehills.jpg);K=imadd(I,J);imshow(K);(两幅图尺寸大小一致)原始图像:给图像的每一个像素加上一个常数可以使图像的亮度增加。效果如下:源代码 RGB=imread(cameraman.tif);RGB2=imadd(RGB,50);subplot(1,2,1);imshow(RGB);subplot(1,2,2);imshow(RGB2
7、);二、图像的减法运算 在MATLAB中,使用imsubtract函数可以将一幅图像从另一幅图像中减去,或者从一幅图像中减去一个常数。imsubtract函数将一幅输入图像的像素值从另一幅输入图像相应的像素值中减去,再将这个结果作为输出图像相应的像素值。imsubtract函数的调用格式如下:Z=imsubtract(X,Y);其中,Z是X-Y操作的结果。实验结果如下图:源代码 rice=imread(cameraman.tif)background=imopen(rice,strel(disk,15)rice2=imsubtract(rice,background)subplot(1,2,1
8、);imshow(rice);subplot(1,2,2);imshow(rice2);三、图像的乘法运算 在MATLAB中,使用immultiply函数实现两幅图像的乘法。immultiply函数将两幅图像相应的像素值进行元素对元素的乘法操作(MATLAB点乘),并将乘法的运算结果作为输出图形相应的像素值。immulitply函数的调用格式如下:Z=immulitply(X,Y)其中,Z=X*Y。实验结果如下图:源代码 I=imread(zhaowei.bmp)J=immultiply(I,1.2)subplot(1,2,1);imshow(I)subplot(1,2,2);imshow(J
9、)四、图像的除法运算 在MATLAB中使用imdivide函数进行两幅图像的除法。imdivide函数对两幅输入图像的所有相应像素执行元素对元素的除法操作(点除),并将得到的结果作为输出图像的相应像素值。imdivide函数的调用格式如下:Z=imdivide(X,Y)其中,Z=X/Y。实验结果如下图:源代码 Rice=imread(cameraman.tif);I=double(Rice);J=I*0.43+90 Rice2=uint8(J)Ip=imdivide(Rice,Rice2)Imshow(Ip,)原图像 五、思考题 由图像算术运算的运算结果,思考图像减法运算在什么场合上发挥优势?
10、答:使用背景减法进行运动目标检测可以提取出完整的目标图像 可将所得标用于进一步的图像处理工作中。除去人身体在环境中运动产生的动态区域外 背景减法对其它的动态场景的变化、干扰等特别敏感背景图像获取的理想情况是在场景没有运动因素,最简单背景获取方法是当场景中任何目标时采集一幅图像作为背景图像,但这种固定背景图像的方法 只适合应于外界条件较好的场。实验三 图像增强空域滤波 一、实验内容与步骤 a)调入并显示原始图像 Sample2-1.jpg。b)利用 imnoise 命令在图像 Sample2-1.jpg 上加入高斯(gaussian)噪声 c)利用预定义函数 fspecial 命令产生平均(av
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 实验 报告 完整版 28570
限制150内