共3页
数字图像处理实验一MATLAB数字图像处理初步
一、显示图像1.利用imread()函数读取一幅图像,假设其名为XXX,存入一个数组中;.利用whos命令提取该t入图像XXX的基本信息;.利用imshow()函数来显示这幅图像;验结果如下图:XXX中!153B?lvKKIKIBrgtif)whosIimshow(I)
二、压缩图像4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;.禾I用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jg文件,设为XXX;法:imwrite(原图像,新图像,quality,q),q取0-100。6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bm图像,设为XXX。7.用imread()读入图像XXX和XXX;.用imfinfo()获取图像XXX和XXX的大小;.用figure,imshow()分别将XXX和XXX显示出来,观察两幅图像的质量。其中9的实验结果如下图:源代码:46(接上面两个)I=imread(XXX)imfinfoXXXimwrite(I,XXX,quality,20);mwrite(I,XXX);9l=imread(XXX);=imread(XXX)imfinfoXXXimfinfoXXXfigure,imshow(XXX)figure
(2),imshow(XXX)
三、二值化图像10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。实验结果如下图:源代码:I=imread(XXX)gg=im2bw(I,0.4);igure,imshow(gg)原始图像:
四、思考题
(1)简述MatLab软件的特点。答:高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;有完备的图形处理功能,实现计算结果和编程的可视化;好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。
(2)MatLab软件可以支持哪些图像文件格式?JEG、JEGC_TIFF、NGGIF、HDF_W等等。
(3)说明函数imread的用途格式以及各种格式所得到图像的性质。imread函数用于读入各种图像文件,其一般的用法为_,MA=imread(filename,fmt)其中,_,MA别为读出的图像数据和颜色表数据,fmt为图像的格式,filename为读取的图像文件(可以加上文件的路径)。
(4)为什么用I=imread(XXX)命令得到的图像I不可以进行算术运算?Matlab系统默认的算术运算时针对双精度类型(double)的数据,而上述命令产生的矩阵的数据类型是无符号8位,直接进行运算会溢出。实验二图像的代数运算一.图像的加法运算在MATLAB,如果要进行两幅图像的加法,或者给一幅图像加上一个常数,可以调用imadd函数来实现。imadd函数将某一幅输入图像的每一个像素值与另一幅图像相应的像素值相加,返回相应的像素值之和作为输出图像。imadd函数的调用格式如下:Z=imadd(_,Y)其中,期口Y表示需要相加的两幅图像,返回值Z表示得到的加法操作结果。实验结果如下图:源代码:I=imread(XXX);=imread(XXX);=imadd(I,J);mshow(K);两幅图尺寸大小一致)原始图像:给图像的每一个像素加上一个常数可以使图像的亮度增加。效果如下:源代码RGB=imread(XXX);GB2=imadd(RGB,50);ublot(1,2,1);mshow(RGB);ublot(1,2,2);mshow(RGB2);图像的减法运算在MATLAB,使用imsubtract函数可以将一幅图像从另一幅图像中减去,或者从一幅图像中减去一个常数。imsubtract函数将一幅输入图像的像素值从另一幅输入图像相应的像素值中减去,再将这个结果作为出图像相应的像素值。imsubtract函数的调用格式如下:Z=imsubtract(_,Y);中,Z是_-Y操作的结果。实验结果如下图:源代码rice=imread(XXX)background=imoen(rice,strel(disk,15)rice2=imsubtract(rice,background)sublot(1,2,1);mshow(rice);ublot(1,2,2);mshow(rice2);
三、图像的乘法运算在MATLAB,使用immultily函数实现两幅图像的乘法。immultily函数将两幅图像相应的像素值进行元素对元素的乘法操作(MATLAB乘),并将乘法的运算结果作为输出图形相应的像素值。immulitly函数的调用格式如下:Z=immulitly(_,Y)其中,Z=__Y。实验结果如下图:源代码I=imread(XXX)J=immultily(I,1.2)sublot(1,2,1);mshow(I)sublot(1,2,2);mshow(J)
四、图像的除法运算在MATLAB使用imdivide函数进行两幅图像的除法。imdivide函数对两幅输入图像的所有相应像素执行元素对元素的除法操作(点除),并将得到的结果作为输出图像的相应像素值。imdivide函数的调用格式如下:Z=imdivide(_,Y)其中,Z=_/Y。实验结果如下图:源代码Rice=imread(XXX);=double(Rice);=I_0.43+90Rice2=uint8(J)I=imdivide(Rice,Rice2)Imshow(I,)原图像
五、思考题由图像算术运算的运算结果,思考图像减法运算在什么场合上发挥优势?答:使用背景减法进行运动目标检测可以提取出完整的目标图像.可将所得标用于进一步的图像处理工作中。除去人身体在环境中运动产生的动态区域外.背景减法对其它的动态场景的变化、干扰等特别敏感背景图像获取的理想情况是在场景没有运动因素,背景获取方法是当场景中任何目标时采集一幅图像作为背景图像,但这种固定背景图像的方法.只适合应于外界条件较好的场。实验三图像增强一空域滤波
一、实验内容与步骤a)调入并显示原始图像XXX。b)利用imnoise命令在图像XXX上加入高斯(gaussian)噪声c)利用预定义函数fsecial命令产生平均(average)滤波器111XXXX1111d)分别采用3_3和5_5的
举报
