|数字图像处理实验一个MATLAB数字图像处理的初步一、显示图像1.假设其名称为lily.tif,使用imread()函数读取图像,并将其存储在数组中; 2.使用whos命令提取读取的图像flower.tif的基本信息。 3.使用imshow()函数显示此图像;实验结果如下:源代码:>> I = imread('lily.tif')>> whos I >> imshow(I)二、压缩图像4.使用imfinfo函数获取压缩,颜色等图像文件的详细信息; 5.使用imwrite()函数压缩该图像,将其另存为具有压缩像素的jpg文件,并设置为lily.jpg;语法:imwrite(原始图片,新图片,“质量”,q),q取0-100。 6.还可以使用imwrite()函数将最初读取的tif图像另存为bmp图像,并将其设置为fly.bmp。 7.使用imread()读取图像Sunset.jpg和Winter.jpg; 8.使用imfinfo()获得图像Sunset.jpg和Winter.jpg的大小; 9.使用Figure,imshow()分别显示Sunset.jpg和Winter.jpg,并观察两个图像的质量。
其中9个的实验结果如下:源代码:4〜6(继续上述两个)>> I = imread('lily.tif')>> imfinfo'lily.tif'; >> imwrite(I,'lily.jpg','quality',2 0); >> imwrite(I,'lily.bmp'); 7〜9 >> I = imread('Sunset.jpg'); >> J = imread('Winter.jpg')>> imfinfo'Sunset.jpg'>> imfinfo'Winter.jpg'>>图(1),imshow('Sunset.jpg')>>图(2),imshow('Winter .jpg')三、二值化图像使用im2bw将灰度图像转换为二进制图像,并使用imshow显示所观察图像的特征,实验结果如下:源代码:> > I = imread('lily.tif')>> gg = im2bw(I,0. 4); F >> igure,imshow(gg)原始图片:四、思考问题(1)简要描述MatLab软件的特点。
答案:= 1 \ * GB3①高效的数值计算和符号计算功能,可以使用户摆脱复杂的数学运算分析; = 2 \ * GB3②具有完善的图形处理功能,可实现计算结果和程序的可视化; = 3 \ * GB3③友好的用户界面和接近数学表达式的自然语言使学者易于学习和掌握; = 4 \ * GB3④功能丰富的应用程序工具箱(例如信号处理工具箱,通信工具箱等),为用户提供了大量便捷实用的处理工具。 (2) MatLab软件可以支持哪些图像文件格式?JPEG,JPEG,PCX,TIFF,PNG,GIF,HDF,XWD等。以各种格式获得imread函数用于读取各种图像文件,其一般用法为[X,MAP] = imread('filename','fmt'),其中X,MAP是读取的图像数据和色表数据分别是fmt是图像格式,filename是要读取的图像文件(可以添加文件路径)(4)为什么不能使用通过I = imread('lena.bmp')获得的图像Matlab系统默认的算术运算是双精度数据,并且上述命令生成的矩阵的数据类型为无符号8位,直接运算将溢出。

实验2图像代数运算1.图像加法运算在MATLAB中。如果要添加两个图像,或向一个图像添加常量,则可以调用imadd函数来实现。 imadd函数将某个输入图像的每个像素值与另一个图像的对应像素值相加,并将对应像素值的总和作为输出图像返回。 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,5 0); >> subplot(1,2,1); imshow(RGB); >> subplot(1,2,2); imshow(RGB 2); 二、图像减法运算在MATLAB中,您可以使用imsubtract函数从另一幅图像中减去一幅图像,或者从一幅图像中减去一个常数。
减减函数从另一个输入图像的相应像素值中减去一个输入图像的像素值,然后将此结果用作输出图像的相应像素值。 imsubtract函数的调用格式如下:Z = imsubtract(X,Y);其中Z是X-Y运算的结果。实验结果如下:源代码>>大米= imread('cameraman.tif')>>背景= imopen(大米,strel('磁盘',1 5))>>大米2 =大减(大米,背景) >> subplot(1,2,1); imshow(rice); >> subplot(1,2,2); imshow(rice 2); 三、函数实现一个图像的两个乘法.implyply函数对两个图像的相应像素值执行元素到元素的乘法(MATLAB点乘法),并将相乘的结果用作该图像的相应像素值输出图形。immulitply函数的调用格式如下:Z = immulitply(X,Y)其中Z = X * Y。实验结果如下:源代码I >> = imread('zhaowei.bmp') >> J = immultiply(I,1. 2) >>子图(1,2,1); imshow(I)>>子图(1,2,2); imshow(J)四、图片)分割操作使用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,Rice 2) >> Imshow(Ip,[])原始图像五、从图像算术运算的结果思考问题,想想图像减法运算将在哪里发挥优势? :使用背景减法进行运动目标检测可以提取出完整的目标图像,所获得的目标可以用于进一步的图像处理,去除环境中人体产生的动态区域,背景减法会改变并干扰其他动态场景,非常理想。获取特别敏感的背景图像的情况是场景中没有运动因素,最简单的背景获取方法是在场景中有目标时收集图像作为背景图像,但是这种固定背景的方法图片仅适用于外部世界。条件更好的领域。实验3图像增强-空间过滤一、实验内容和步骤a)导入并显示原始图像Sample2- 1. jpg。

b)使用imnoise命令将高斯噪声添加到图像Sample2- 1. jpg c)使用预定义函数fspecial命令生成平均滤波器d)使用3x3和5x5模板分别分别使用平均滤波器和中值滤波器,用噪声处理图像,并在不同噪声水平下观察上述滤波处理的结果; e)选择不同大小的模板,以一定的噪声水平处理带有噪声的图像,观察上述滤波处理的结果。 f)使用imnoise命令向图像Sample2- 1. jpg添加盐和胡椒粉噪声(盐和胡椒粉)g)重复步骤c)〜e)h)输出所有结果并进行讨论。实验结果和源代码源代码>> I = imread('cameraman.tif'); J = imnoise(I,'gauss',0. 0 2); J = imnoise(I,'salt&pepper', 0. 0 2); ave1 = fspecial('average',3); ave2 = fspecial('average',5); K = filter2(ave1,J)/ 255; L = filter2(ave2,J )/ 255; M = medfilt2(J,[3 3]); N = medfilt2(J,[4 4]); imshow(I);图,imshow(J);图,imshow(K);图,imshow (L);图,imshow(M);图,imshow(N); 三、思维问题/问题简要描述了高斯噪声和盐和胡椒噪声的特征。
高斯噪声是指其概率密度函数服从高斯分布(即正态分布)的一种噪声。如果是噪声,则其幅度分布服从高斯分布,并且其功率谱密度均匀分布,这称为高斯白噪声。高斯白噪声的二阶矩是不相关的,一阶矩是恒定的,这是指连续信号在时间上的相关性。高斯白噪声包括热噪声和散粒噪声。椒盐噪声是指椒盐噪声是由图像传感器,传输通道和解码处理产生的黑白光和暗噪声。盐和胡椒粉噪声通常是由于图像切割引起的。结合实验内容,定性评估平均滤波器/中值滤波器对高斯噪声,盐和胡椒噪声的去噪效果。通过实验可以看出,中值滤波对盐和胡椒噪声的去噪效果更好,但是对高斯噪声的去噪效果不是很令人满意(3)结合实验内容,定性地评估了滤波窗口对噪声的影响)。去噪效果与实验结果比较,可以发现盐和胡椒噪声的中值滤波效果更好;对于高斯噪声,5 * 5窗口滤波的效果优于3 * 3窗口滤波,但是实验4图像分割一、实验内容和步骤(1)使用Roberts运算符的图像分割实验??导入并在图像room.tif中显示图像;使用Roberts运算符对图像进行边缘检测处理。图像; Roberts运算符是一对模板:??对应的矩阵是:rh = [0 1; -1 0]; rv = [1 0; 0 -1];其中rh是水平Roberts运算符,rv是垂直R向操作员求助。
分别显示处理后的水平和垂直边界检测结果;使用“欧氏距离”和“块距”方法计算梯度的梯度,并显示检测结果;二值化检测结果,并显示处理结果; (2)使用Prewitt运算符进行图像分割实验?使用Prewitt运算符执行内容中的所有步骤(1)。(3)使用Sobel运算符的图像分割实验以使用Sobel运算符的内容中的所有步骤( 1)。(4)使用LoG(Laplace-Gauss)运算符的图像分割实验使用LoG(Laplace-Gauss)运算符执行内容(1)所有步骤。提示1:处理后,可以得到处理结果提示2:注意调整噪声强度和LoG(Laplace-Gauss)运算符的参数,并观察处理结果二、实验结果源程序的实验结果如下:源程序>> f = imread('cameraman.tif'); [gv,t1] = edge(f,'sobel','vertical'); imshow(gv) [gb,t2] = edge(f,'sobel','horizontal'); figure,imshow(gb)w45 = [-2 -1 0; -1 0 1; 0 1 2]; g45 = imfilter(double( f),w45,'replicate'); T = 0. 3 * max(abs (g45(:))); g45 = g45> = T;图,imshow(g4 5); 三、思考问题/常见问题和解答问题1、评估Roberts运算符,Prewitt运算符和Sobel运算符对边界的性能在噪声条件下进行检测。
Roberts算子具有较高的边缘定位精度,但是很容易丢失一部分边缘。同时,由于未执行图像平滑计算,因此无法抑制噪声。该操作员对陡峭且低噪点的图像响应最佳。 Sobel算子在空间中易于实现,对噪声具有平滑效果,受噪声影响较小,并且可以提供更准确的边缘方向信息,但是同时,它还会检测到许多错误边缘。检测到的边缘宽度相对较厚。位置定位精度不高。 Prewitt运算符和Sobel运算符使用相同的方法,它们都对图像执行差异和滤波操作。唯一的区别是所使用的模板是不同的。 Prewitt运算符比Sobel运算符稍微简单一些。 2、为什么LoG梯度检测算子的处理结果不需要像Prewitt和其他算子那样执行振幅组合? LOG运算符根据图像的信噪比找到用于边缘检测的最佳滤波器。该方法首先使用高斯函数对图像进行低通滤波,然后使用Laplacia算子进行高通滤波,并根据二阶导数的零交叉点检测图像的边缘。因此,不需要像Prewitt和其他算子一样执行振幅组合。 3、实验中使用的四个算子获得的边界有何异同? Roberts算子检测到的图像轮廓的边缘非常细,连续性差,边缘信息在一定程度上丢失,并且有更多的噪声。 Sobel和Prewitt算子的边缘检测结果几乎相同,比Roberts算子的检测结果更好。边缘更连续且对噪声不敏感,但线条略粗一些,并且出现了一些假边缘。
由二阶LOG运算符检测到的图像的边缘更连续,并且边缘更小。但是,由于二阶算子的特性,它对噪声更敏感。当σ值较小时,平滑度较小,因此会出现零星的虚假边缘。并且σ的值越大,平滑度就越大,但是部分实际边缘将丢失,从而导致边缘不连续。实验5形态学操作一、传输了实验内容和步骤,并显示了图像Plane 2. jpg;选择适当的阈值以获得二进制图像Plane2- 2. jpg;设置结构要素;对获得的二进制图像Plane2- 2. jpg进行腐蚀;将获得的二进制图像Plane2- 2. jpg展开;打开获得的二进制图像Plane2- 2. jpg;所获得的二进制图像Plane2- 2. jpg执行封闭操作;比较两种处理方法的结果;源程序的实验结果和实验结果如下:源程序I = imread('Sunset.jpg'); level = graythresh(I);%得到合适的阈值bw = im2bw(I,level);%二值化SE = strel('square',3);%Set扩展结构元素BW1 = imdilate(bw,SE);%Expansion SE1 = strel('任意',eye(5));%设置腐蚀结构元素BW2 = imerode(bw,SE 1);%腐蚀BW3 = bwmorph(bw,'open');%打开操作BW4 = bwmorph (bw,'close');%Close操作imshow(I);图,imshow(bw);图,imshow(BW 1);图,imshow(BW 2);图,imshow(BW 3);图,imshow(BW 4); 三、考虑问题/问题的问题并结合实验内容来评估腐蚀计算和膨胀计算的效果。
腐蚀是消除边界点的一种方法,它将边界缩小到内部,从而消除了小的无意义的物体。扩展是将与对象接触的所有背景点合并到对象中以向外扩展边界的过程。可用于填充对象中的孔。结合实验内容,评估打开和关闭操作的效果。首先腐蚀然后膨胀的过程称为开放操作。在实验中,打开操作可以去除孤立的小点,毛刺和小桥(即,连接两个区域的小点),而整体位置和形状不变。先膨胀然后腐蚀被称为封闭操作。在实验中,封闭的操作可以填充小湖(即小孔)并桥接小裂缝,而整体位置和形状不变。腐蚀,膨胀,打开和关闭操作的适用条件是什么?由于噪声的影响,阈值处理后的图像边界常常很不均匀,物体区域有一些噪声孔,一些小的噪声物体散布在背景区域上。持续的打开和关闭操作可以有效地改善这种情况。有时有必要在多次腐蚀后添加相同数量的膨胀,以产生更好的结果。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-362510-1.html
他们敢来我们海巡逻
距离你生日只有一个月啦