数字图像实验报告

上传人:痛*** 文档编号:100860597 上传时间:2022-06-03 格式:DOC 页数:16 大小:116.50KB
返回 下载 相关 举报
数字图像实验报告_第1页
第1页 / 共16页
数字图像实验报告_第2页
第2页 / 共16页
数字图像实验报告_第3页
第3页 / 共16页
点击查看更多>>
资源描述
-科技大学数字图像处理实验报告设计题目: 数字图像处理 专业名称: 软件工程 班 级:13419042学 号:1341904222姓 名: 陆建伟 指导教师: 胡春龙2016年 4月 25日目录实验一 数字图像的采集和Photoshop软件的操作I1.1实验目的I1.2实验任务及要求II1.3实验容、步骤和结果、分析II1.4 结果分析III实验二 图像的傅里叶变换I1.1实验目的I1.2实验任务及要求II1.3实验容、步骤和结果II1.4 结果分析III实验三 图像的灰度变换和直方图变换I1.1实验目的I1.2实验任务及要求II1.3实验容、步骤和结果II1.4 结果分析III实验四 图像的平滑处理I1.1实验目的I1.2实验任务及要求II1.3实验容、步骤和结果II1.4 结果分析III实验五 图像的锐化处理I1.1实验目的I1.2实验任务及要求II1.3实验容、步骤和结果II1.4 结果分析III实验六 图像的边缘检测与分割I1.1实验目的I1.2实验任务及要求II1.3实验容、步骤和结果II1.4 结果分析III实验一 数字图像的采集和Photoshop软件的操作1.1实验目的书序并掌握matlab、Photoshop等工具的使用。1.1.2实现图像的读取、显示、代数运算和简单变换。1.2实验任务及要求l 读取图像文件1. ImreadImread函数用于写入图像文件,如:imread(e:w01.jpg)2. ImwriteImwrite函数用于写入图像文件,如:imwrite(a,e:w01.jpg)3. ImfinfoImfinfo函数用于读取图像文件的有关信息,如:imfinfo(e:w01.jpg)l 图像的显示1. ImageImage函数是matlab提供的最原始的图像显示函数。如:a=1,2,3,4;4,5,6,7;8,9,10,11,12; image(a);2. ImshowImshow函数用于图像文件的显示,如:i=imread(e:w01.jpg); imshow(i);title(原图像)3. Imresize改变图像大小I=imresize(j,m,n)将图像j大小调整为m行n列l 图像运算1. Imadd两幅图像想家,要求同意大小,同种数据类型Z=imadd(*,y) 表示图像*+y2. Imsubstract两幅图像相减,要求同样大小,同种数据类型Z=imsubtract(*,y) 表示*-y3. Immultiply4. Z= Immultiply(*,y) 表示*y5. Imdivide6. Z= Imdivide(*,y) 表示*/y1.3实验容、步骤、结果 实验容1、 读取RGB图像,转换成灰度图像和二值图像,在同一个窗口分成三个子窗口显示RGB图像、灰度图像和二值图像;1. 翻开Matlab,在命令框输入相应地代码a=imread(D:jj.jpg)i=rbg2gray(a)I=im2bw(a,0.5)subplot(3,1,1);imshow(a);title(原图像)subplot(3,1,2);imshow(i);title(灰度图像)subplot(3,1,3);imshow(I);title(二值图像2. 实验结果如图1.1图1.12、 图像执行加、减、乘、除操作,窗口分成五个子窗口显示;1. 实验代码a=imread(D:jj.jpg);A=imresize(a,800,800);b=imread(D:tt.jpg);B=imresize(b,800,800);Z1=imadd(A,B);Z2=imsubtract(A,B);Z3=immultiply(A,B);Z4=imdivide(A,B);subplot(3,2,1);imshow(A);title(原图像)subplot(3,2,2);imshow(B);title(原图像B)subplot(3,2,3);imshow(Z1);title(加法图像)subplot(3,2,4);imshow(Z2);title(减法图像)subplot(3,2,5);imshow(Z3);title(乘法图像)subplot(3,2,6);imshow(Z2);title(除法图像)2. 实验结果如图1.2图1.23、 对图像进展灰度变化,实现图像变亮,变暗和负片效果,在同一个窗口分成四个子窗口来分别显示;1. 实验代码a=imread(D:jj.jpg);m=imadjust(a,0.5;1);n=imadjust(a,0;0.5);g=255-a;subplot(2,2,1);imshow(a);title(原图像)subplot(2,2,2);imshow(m);title(图像变亮)subplot(2,2,3);imshow(n);title(图像变暗)subplot(2,2,4);imshow(g);title(负片效果)2. 实验结果如图1.3图1.31.4结果分析通过本次实验,我知道了图像采集的几种方法。对图像的加减乘除处理,ps的使用。实验二图像的傅里叶变换2.1实验目的2.1.1熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。2.2实验任务及要求l 图像的变换1. fft2fft2函数用于数字图像的二维傅里叶变换,如:i=imread(e:w01.jpg);j=fft2(i);由于matlab无法显示附属图像,因此变换后的结果还需要进展求模运算,即调用ads函数之后常常还进展对数变换,即调用log函数,以减缓傅里叶谱的快速衰减,更好的显示高频信息2. ifft2ifft2函数用于数字图像的二维傅里叶反变换,如:j=fft2(i);k=ifft2(j);3. fftshift用于将变换后的图像频谱中心从矩阵的原点移动到矩阵的中心B=fftshift(i)4. 利用fft2计算二维卷积利用fft2函数可以计算二维卷积,如:a=8,1,6;3,5,7;4,9,2;b=1,1,1;1,1,1;1,1,1;a(8,8)=0;b(8,8)=0;c=ifft2(fft2(a).*fft2(b);c=c(1:5,1:5);利用conv2(二维卷积函数)校验, 如:a=8,1,6;3,5,7;4,9,2;b=1,1,1;1,1,1;1,1,1;c=conv2(a,b);2.3实验容、步骤、结果1、对图像平移,显示原始图像与处理后图像,对其进展傅里叶变换,显示结果,分析其对应关系。1.实验代码s=imread(D:tt.jpg);i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j);l=log(abs(k);m=fftshift(j);RR=real(m);II=imag(m);A=sqrt(RR.2+II.2);A=(A-min(min(A)/(ma*(ma*(A)*255;b=circshift(s,800 450);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);l=log(abs(e);f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.2+ZZ.2);B=(B-min(min(B)/(ma*(ma*(B)*255;subplot(2,2,1);imshow(s);title(原图像);subplot(2,2,2);imshow(uint8(b);title(平移图像);subplot(2,2,3);imshow(A);title(离散傅里叶频谱);subplot(2,2,4);imshow(B);title(平移图像离散傅里叶频谱);2.实验结果如图2.1图2.12.对图像进展旋转,显示原始图像与处理后图像,分别对其进展傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。1.代码如下s=imread(D:tt.jpg);%读入原图像i=rgb2gray(s);i=double(i);j=fft2(i); %傅里叶变换 k=fftshift(j); % 直流分量移到频谱中心l=log(abs(k); %对数变换m=fftshift(j); %直流分量移到频谱中心RR=real(m); %取傅里叶变换的实部II=imag(m); %取傅里叶变换的虚部A=sqrt(RR.2+II.2); %计算频谱府幅值 A=(A-min(min(A)/(ma*(ma*(A)*255; % 归一化b=imrotate(s, -90); %对图像矩阵im中的数据进展移位操作b=rgb2gray(b);b=double(b);c=fft2(b); %傅里叶变换 e=fftshift(c); % 直流分量移到频谱中心l=log(abs(e); %对数变换f=fftshift(c); %直流分量移到频谱中心WW=real(f); %取傅里叶变换的实部BZZ=imag(f); %取傅里叶变换的虚部B=sqrt(WW.2+ZZ.2); %计算频谱府幅值 B=(B-min(min(B)/(ma*(ma*(B)*255; % 归一化subplot(2,2,1);imshow(s);title(原图像)subplot(2,2,2);imshow(uint8(b);title(平移图像)subplot(2,2,3);imshow(A);title(离散傅里叶频谱);subplot(2,2,4);imshow(B);title(平移图像离散傅里叶频谱)2.实验结果如图2.2图2.22.4结果分析傅里叶变换进展图像处理有几个特点:直流成分F(0,0)等于图像的平均值;能量频谱|Fu,v|2完全对称于原点;其中F=PfQ, f表示原图,P和Q都是对称的实正交矩阵,这个公式表示傅里叶变换就是个正交矩阵的正交变换;图像f平移a,b后,F只有e*p-2pij(au/M+bv/M)的相位变化,能量频谱不发生变化;图像f自乘平均等于能量频谱的总和,f的分散等于能量频谱中除直流成分后的总和;图像f(*,y)和g(*,y)的卷积h(*,y)=f(*,y)*g(*,y)的傅里叶变换Hu,v等于f(*,y)和g(*,y)各自的傅里叶变换的乘积。实验三 图像的灰度变换和直方图变换3.1实验目的1、熟悉及掌握图像的采样原理,实现图像的采样过程,进展图像的灰度转换;2、理解直方图的概念及应用,实现图像直方图的显示,及通过直方图的均衡化和直方图规定划方法对图像进展修正。3.2实验任务及要求1、灰度转换灰度变换是图像增强技术中最简单的一类。常用的三类根本函数:线性函数、对数函数、幂次函数。1图像反转:Image=imread(Fig3.04(a).jpg);imshow(Image);Image=255-double(Image);%反转figure(2),imshow(uint8(Image);2对数变换:Image=imread(Fig3.05(a).jpg);imshow(Image);Image=log(1+double(Image);figure(2),imshow(Image,);3幂次变换Image=imread(Fig3.09(a).jpg);imshow(Image);Image2=double(Image).3.0;%3figure(2),imshow(Image2,);Image2=double(Image).4.0;figure(3),imshow(Image2,);Image2=double(Image).5.0;figure(4),imshow(Image2,);2.灰度直方图的显示imhistimhist是MATLAB提供的显示图像灰度直方图的函数。1显示图像cameraman.tif的直方图。*=imread(cameraman.tif);figuresubplot(2,1,1)imshow(*)subplot(2,1,2)imhist(*)2还可以将直方图显示成其他形式,比方柱形图续一或者折线图h=imhist(*);h1=h(1:10:256);horz=1:10:256;bar(horz,h1)a*is(025501500)set(gca,*tick,0:50:255)set(gca,ytick,0:200:1500)h=imhist(*);plot(h)3.3实验容、步骤、结果1. 对一幅图进展2倍、4倍、8倍和16倍减采样,显示结果;1.实验代码a=imread(D:jj.jpg);b=rgb2gray(a);for m=1:4figurewidth,height=size(b);quartimage=zeros(floor(width/(m),floor(height/(2*m);k=1;n=1;for i=1:(m):widthfor j=1:(2*m):heightquartimage(k,n)=b(i,j);n=n+1;endk=k+1;n=1;endimshow(uint8(quartimage);end2.实验结果如图3.1图3.12. 显示一幅灰度图像a,改变图像的亮度使其整体变暗得到图像b,显示两幅图像的直方图;1.实验代码a= imread(D:jj.jpg);c=rgb2gray(a);b=c-46;subplot(3,2,1);imhist(c);title(直方图)subplot(3,2,2);imhist(b);title(变暗后的直方图)subplot(3,2,3);imshow(c);title(原图像)subplot(3,2,4);imshow(b);title(变暗后的图像)d=imadjust(c,0,1,1,0);subplot(3,2,5);imshow(d);title(灰度调整后的图像)2.实验结果如图3.2图3.23.对图像b进展直方图均衡化,显示结果图像和对应的直方图;1.实验代码b= imread(D:jj.jpg);c=rgb2gray(b);j=histeq(c);subplot(2,2,1),imshow(c);title(原图像)subplot(2,2,2),imshow(j);title(均衡化后的图像)subplot(2,2,3),imhist(c);title(原直方图)%显示原始图像直方图subplot(2,2,4),imhist(j);title(均衡化后的直方图)%显示均衡化后图像直方图2.实验结果如图3.3图3.34.对B进展分段线性变换处理,试比拟与直方图均衡化处理的异同。1.实验代码*1=0:0.01:0.125;*2=0.125:0.01:0.75;*3=0.75:0.01:1;y1=2*1;y2=0.25+0.6*(*2-0.125);y3=0.625+1.5*(*3-0.75);*=*1,*2,*3;y=y1,y2,y3;plot(*,y);2.实验结果如图3.4图3.43.4结果分析通过本次实验,我明白了灰度变换和直方图变换的特点及优缺点。实验四 图像的平滑处理4.1实验目的1、熟悉并掌握常见的图像噪声种类;2、理解并掌握常用的图像的平滑技术,如领域平均法和中值滤波的原理、特点、适用对象。4.2实验任务及要求图像平滑的目的是消除图像噪声、恢复原始图像。实际中摄取的图像一般都含有*种噪声,引起噪声的原因很多,噪声的种类也很多。总的来说,可以将噪声分为加性噪声和乘性噪声。加性噪声中包涵高斯噪声、椒盐噪声等典型噪声。Imnosie格式:j=imnoise(I,type,parameters);常见的去除噪声的方法有:领域平均法、空间域低通滤波、频率与低通滤波、中值滤波等,二维中值滤波的matlab函数为medfilt2.1. ImnoiseImnoise函数用于对图像生成模拟噪声,如:I=imread(e:/w01.tif);J=imnoise(I,gaussian,0,0.02);J=imnoise(I,salt&pepper,0.04);2. FspecialFspecial函数用于兴盛预定义滤波器,如:H=fspecial(sobel);H=fspecial(gaussian);H=fspecial(laplacian);H=fspecial(log);H=fspecial(average);3. 基于卷积的图像滤波函数Imfilter函数,filter2函数,二维卷积conv2滤波,都可以用于图像滤波,用法类似,如:H=fspecial(prewitt);M=imfilter(i.h);Imshow(m);或者:I=imread(e:/w01.tif);H=1,1,1;1,1,1;1,1,1;H=h/9;J=conv2(I,h);4.3实验容、步骤、结果1.读出图像,给读出的图像分别参加高斯噪声、椒盐噪声和乘性噪声,并与原图像显示在同一图像窗口中;1.实验代码a= imread(D:jj.jpg);i=rgb2gray(a);I1=imnoise(i,gaussian,0,0.02);I2=imnoise(i,salt & pepper,0.02);I3=imnoise(i,speckle,0.02);subplot(2,2,1),imshow(i);title(原图像);subplot(2,2,2),imshow(I1);title(受高斯污染的图像);subplot(2,2,3),imshow(I2);title(受椒盐噪声污染的图像);subplot(2,2,4),imshow(I3);title(受乘性噪声污染的图像);2.实验结果如图4.1图4.12.对受高斯噪声模拟值为0方差为0.02的高斯噪声干扰的图像分别利用领域平均法和中值滤波法进展滤波去噪窗口可变,可先取3*3,依次再取5*5,7*7,并显示滤波结果;1.实验代码a= imread(D:jj.jpg);i=rgb2gray(a);I=imnoise(i,gaussian,0,0.02);H1=ones(3,3)/9;H2=ones(5,5)/25;H3=ones(7,7)/49;J=imfilter(i,H1);J1=imfilter(I,H1);J2=imfilter(I,H2);J3=imfilter(I,H3);Z=medfilt2(i,3,3);Z1=medfilt2(I,3,3);Z2=medfilt2(I,5,5);Z3=medfilt2(I,7,7);subplot(4,2,1),imshow(J);title(原图像领域平均滤波后);subplot(4,2,2),imshow(J1);title(高斯3*3领域平均滤波后);subplot(4,2,3),imshow(J2);title(高斯5*5领域平均滤波后);subplot(4,2,4),imshow(J3);title(高斯7*7领域平均滤波后);subplot(4,2,5),imshow(Z);title(原图像中值滤波后);subplot(4,2,6),imshow(Z1);title(高斯3*3中值滤波后);subplot(4,2,7),imshow(Z2);title(高斯5*5中值滤波后);subplot(4,2,8),imshow(Z3);title(高斯7*7中值滤波后);2.实验结果如图4.2图4.23.对受椒盐噪声的图像噪声方差为0.02干扰的图像,选择适宜的滤波器将噪声去噪;1.实验代码a= imread(D:jj.jpg);i=rgb2gray(a);I=imnoise(i,salt & pepper,0.02);Z=medfilt2(i,3,3);Z1=medfilt2(I,3,3);Z2=medfilt2(I,5,5);Z3=medfilt2(I,7,7);subplot(2,2,1),imshow(Z);title(原图像中值滤波后);subplot(2,2,2),imshow(Z1);title(椒盐3*3中值滤波后);subplot(2,2,3),imshow(Z2);title(椒盐5*5中值滤波后);subplot(2,2,4),imshow(Z3);title(椒盐7*7中值滤波后);2.实验结果如图4.3图4.34.对受乘性噪声的图像噪声方差为0.02干扰的图像,选择适宜的滤波器将噪声去噪。1.实验代码a= imread(D:jj.jpg);i=rgb2gray(a);I=imnoise(i,speckle,0.02);H1=ones(3,3)/9;H2=ones(5,5)/25;H3=ones(7,7)/49;J=imfilter(i,H1);J1=imfilter(I,H1);J2=imfilter(I,H2);J3=imfilter(I,H3);subplot(2,2,1),imshow(J);title(原图像领域平均滤波后);subplot(2,2,2),imshow(J1);title(乘性3*3领域平均滤波后);subplot(2,2,3),imshow(J2);title(乘性5*5领域平均滤波后);subplot(2,2,4),imshow(J3);title(乘性7*7领域平均滤波后);2.实验结果如图4.4图4.44.4结果分析通过本次实验,我知道了平滑处理的几种方法。图像平滑是指用于突出图像的宽大区域、低频成分、主干局部或抑制图像噪声和干扰高频成分的图像处理方法,目的是使图像亮度平缓渐变,减小突变梯度,改善图像质量。图像平滑的方法包括:插值方法,线性平滑方法,卷积法等等。这样的处理方法根据图像噪声的不同进展平滑,比方椒盐噪声,就采用线性平滑方法!实验五 图像的锐化处理5.1实验目的1. 熟悉并掌握matlab图像处理工具箱的使用2. 理解并掌握常用的图像的锐化技术5.2实验任务及要求4. ImnoiseImnoise函数用于对图像生成模拟噪声,如:I=imread(e:/w01.tif);J=imnoise(I,gaussian,0,0.02);J=imnoise(I,salt&pepper,0.04);5. FspecialFspecial函数用于兴盛预定义滤波器,如:H=fspecial(sobel);H=fspecial(gaussian);H=fspecial(laplacian);H=fspecial(log);H=fspecial(average);6. 基于卷积的图像滤波函数Imfilter函数,filter2函数,二维卷积conv2滤波,都可以用于图像滤波,用法类似,如:H=fspecial(prewitt);M=imfilter(i.h);Imshow(m);或者:I=imread(e:/w01.tif);H=1,1,1;1,1,1;1,1,1;H=h/9;J=conv2(I,h);7. 其他常用的滤波举例基于拉氏算子锐化图像,如:I=imread(e:/w01.tif);J=double(i);H=0,1,0;1,-4,0;0,1,0;K=conv2(j,h,same);5.3实验容、步骤、结果1.采用三种一阶导数边缘检测方法对图像进展锐化。1.实验代码i=imread(D:/jj.jpg);I=rgb2gray(i);H=fspecial(sobel);I1=imfilter(i,H);H=fspecial(prewitt)I2=imfilter(i,H);H=1,1,1;5,5,5;1,1,1;I3=imfilter(i,H);subplot(2,2,1);imshow(i);title(原图像)subplot(2,2,2);imshow(I1);title(sobel图像)subplot(2,2,3);imshow(I2);title(prewitt图像)subplot(2,2,4);imshow(I3);title(自定义图像)2.实验结果如图5.1图5.12.锐化空间滤波1.采用3*3的拉普拉斯算子w=1,1,1;1 -8 1;1,1,1滤波2.将1的结果叠加到原始图像上,观察出噪声增强了,想方法降低。3.获取sobel图像并用imfilter对其进展5*5的领域平均,以减少噪声;4.获取2和3的相乘图像,减少噪声。5.将4的结果叠加到原始图像上6.用imadjust函数对5结果做幂指数为0.2的灰度变换1.实验代码i=imread(D:jj.jpg);i=rgb2gray(i);h1 = 1,1,1;1,-8,1;1,1,1;I1=imfilter(i,h1,replicate); %拉普拉斯算子图像Z1=imadd(i,I1); %叠加原图和拉普拉斯算子图像h2 = fspecial(sobel);I2=imfilter(i,h2,replicate); %sobel算子图像h3=fspecial(average,5*5); I3=imfilter(i,h3); %领域平均Z2=immultiply(Z1,I3); %相乘Z1和I3Z3=imadd(i,Z2); %原图和上面相乘图像相加I4=imadjust(Z3,0.2); %灰度变换 幂指数为0.2subplot(4,2,1);imshow(i);title(原图像);subplot(4,2,2);imshow(I1);title(拉普拉斯图像);subplot(4,2,3);imshow(Z1);title(叠加图像);subplot(4,2,4);imshow(I2);title(sobel图像);subplot(4,2,5);imshow(I3);title(领域平均图像);subplot(4,2,6);imshow(Z2);title(相乘图像);subplot(4,2,7);imshow(Z3);title(叠加图像);subplot(4,2,8);imshow(I4);title(灰度变换图像);2.实验结果如图5.2图5.23.编写函数w=genlaplacian(n),自动产生一奇数尺寸n的拉普拉斯算子,如5*5的拉普拉斯算子。function w =genlaplacian(n) %UNTITLED Summary of this function goes here% Detailed e*planation goes herew = ones(n); * = ceil(n/2);w(*, *) = -1 * (n * n - 1); end4.分别采用5*5,9*9,15*15,和25*25大小的拉普拉斯算子对blurry_moon.tif进展锐化滤波,并利用g(*,y)=f(*,y)-2f(*,y)完成图像的锐化增强,观察其有什么不同1.实验代码i=imread(D:jj.jpg);i=rgb2gray(i);h1=genLaplacian(5); %5*5拉普拉斯算子I1=i-imfilter(i,h1,replicate); h2=genLaplacian(9); %9*9拉普拉斯算子I2=i-imfilter(i,h2,replicate); h3=genLaplacian(15); %15*15拉普拉斯算子I3=i-imfilter(i,h3,replicate); h4=genLaplacian(25); %25*25拉普拉斯算子I4=i-imfilter(i,h4,replicate); subplot(3,2,1);imshow(i);title(原图像);subplot(3,2,2);imshow(I1);title(5*5拉普拉斯算子);subplot(3,2,3);imshow(I2);title(9*9拉普拉斯算子);subplot(3,2,4);imshow(I3);title(15*15拉普拉斯算子);subplot(3,2,5);imshow(I4);title(25*25拉普拉斯算子);2.实验结果如图5.3图5.35.4结果分析通过本次实验,我明白了各种滤波器的作用及特点,其中中值滤波算法的实现是将模板区域的像素排序,求出中值。特点是强迫突出的亮点暗点更像它周围的值,以消除孤立的亮点暗点;在去除噪声的同时,可以比拟好地保存边缘的锐度和图像的细节。中值滤波器比均值滤波器效果好。最大值滤波器:主要用途:寻找最亮点最小值滤波器:主要用途:寻找最暗点空域平滑滤波器模板的所有系数都是正数,具有平滑的效果,在去除噪声的同时模糊了图像边缘、细节。本质上是一种低通滤波器。在设计滤波器时通常还要求行列数为奇数,保障中心定位性能。空域平滑滤波的去噪能力与它的模板大小有关,模板越大,去噪声能力越强;实验六 图像的边缘检测和分割6.1实验目的1. 熟悉并掌握MATLAB图像处理工具箱的使用2. 理解并掌握常用的图像的边缘检测与分割技术6.2实验任务及要求1 edge检测灰度或者二值图像的边缘,返回一个二值图像,1像素是检测到的边缘,0像素是非边缘。用法:BW=edge(I,sobel,thresh,direction)Thresh指定阈值,检测时忽略所有小于阈值的边缘,默认自动选择阈值;direction方向,在所指定的方向用算子进展边缘检测:horizontal、vertical、both。2 图像分割图像分割是将图像划分成假设干个互不相干的小区域,小区域是魔偶中意义下具有共同属性的像素的连通集合。如不同目标物体所占的图像区域、前景所占的图像区域。连通是指*集合中任意两个点之间都存在着完全属于该集合的联通路径。1、 双峰法先给出原图的直方图,在定出阈值T,一般取两个峰值间的谷值。2、自适应全局阈值算法步骤:1. 初始化阈值T一般为原图像所有像素平均值2. 用T分割图像成两个集合:G1和G2,其中G1包涵所有灰度值小于T的像素,G2包涵所有灰度值大于T的像素。3. 计算G1总像素的平均值m1及G2中像素的平均值m2.4. 计算新的阈值:T=m1+m2/2。5. 如果新阈值跟原阈值之间的差值小于一个预先设定的围,停顿循环,否则继续2.4步。6.3实验容、步骤、结果1、采用三种不同算子检测图像边缘,显示结果实验代码I=imread(D:/jj.jpg);I=rgb2gray(I);BW1=edge(I,sobel); BW2=edge(I,roberts);BW3=edge(I,prewitt); BW4=edge(I,log); BW5=edge(I,canny);subplot(2,3,1), imshow(BW1);title(sobel);subplot(2,3,2), imshow(BW2);title(roberts);subplot(2,3,3), imshow(BW3);title(prewitt);subplot(2,3,4), imshow(BW4);title(log);subplot(2,3,5), imshow(BW5);title(canny);实验结果图6.1图6.12、 分别使用roberts、prewitt、sobel算子和双峰阈值法、最正确阈值法进展图像分割:1.双峰阈值法i = imread(D:jj.jpg);I = rgb2gray(i);subplot(2,1,1); imhist(I);title(原图像直方图) %画出灰度直方图p1 = Input Num:; p2 = 180;p3 = inputdlg(p1,Input Num:1256,1,p2);p = str2num(p31); p = p/255;bw = im2bw(I, p); %小于阈值的为黑,大于阈值的为白subplot(2,1,2); imshow(bw, border, tight);title(分割图像);结果如图6.2图6.22.最正确阈值法i=imread(D:jj.jpg);I=rgb2gray(i);thresh = graythresh(I); %自动确定二值化阈值I2 = im2bw(I,thresh); %对图像二值化subplot(2,2,1);imshow(I);title(原图像);subplot(2,2,2);imhist(I,256);title(原图像直方图);subplot(2,2,3);imshow(I2);title(自动阈值分割图像);实验结果如图6.3图6.36.4结果分析通过本次实验,我学会了如何进展边缘检测和分割图像以及如何自定义函数来自主编辑图片,各种算子的使用以及两种方法。. z
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!