资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实验一实验一 图像增强和图像分割实验图像增强和图像分割实验(1)分别用图中给出的直线和曲线作为增强函数进行增强,比较它们的效果并讨论其特点。线性变换 对指数变换图片 1 图片 2实验步骤:实验步骤:1.1. 在在 MATLABMATLAB 中编写灰度图像的线性变换点运算程序中编写灰度图像的线性变换点运算程序图片图片 1 1 处理程序处理程序I=imread(图片 1.png); %读入原图像I=im2double(I); %转换数据类型为 doubleM,N=size(I);figure(1); imshow(I);%显示原图像 title(原图像);figure(2); I=rgb2gray(I);E2(s)E3(s)E1(s)L-1L-1E5(s)E4(s)L-1L-1%转化为灰度图像H,x=imhist(I,64); stem(x,(H/M/N),.); title(原图像);%tan=30 a=sqrt(3)/3;b=0; y=a.*I+b; figure(3); imshow(y); title(tan=30); figure(4); H,x=imhist(y,64); stem(x,(H/M/N),.); title(tan=30); %tan=45 a=1;b=0; y=a.*I+b;figure(5); imshow(y); title(tan=45); figure(6); H,x=imhist(y,64); stem(x,(H/M/N),.); title(tan=45); %tan=60 a=sqrt(3);b=0; y=a.*I+b; figure(7); imshow(y); title(tan=60); figure(8); H,x=imhist(y,64); stem(x,(H/M/N),.); title(tan=60);实验结果如下图所示:实验结果如下图所示:代 代 代图片 1 的原图像tan=30图片 1 的 30 度线性变换图像tan=45图片 1 的 45 度线性变换图像tan=60图片 1 的 60 度线性变换图像00.10.20.30.40.50.60.70.80.9100.0050.010.0150.020.025代 代 代00.10.20.30.40.50.60.70.80.9100.0050.010.0150.020.0250.030.0350.04tan=30原图像的直方图 30 度变换后直方图00.10.20.30.40.50.60.70.80.9100.0050.010.0150.020.025tan=4500.10.20.30.40.50.60.70.80.9100.0050.010.0150.020.025tan=6045 度变换后的直方图 60 度变换后直方图图片图片 2 2 处理程序参考图片处理程序参考图片 1 1 处理程序。图片处理程序。图片 2 2 实验结果如图所示:实验结果如图所示:代 代 代图片 2 原图像tan=3030 度变换后图像tan=4545 度变换后图像tan=6060 度变换后图像2.2. 实验结果分析实验结果分析由实验结果可以看出,当按照 30 度线性变换后图像变暗,按照 45 度变换后图像没有任何改变,按照 60 度变换后图像变亮,由变换后的直方图可以确认像素点的变化。由以上分析可以得出,当线性变换函数的斜率大于 1 时,图像的对比度将增大;当线性变换的斜率小于时,图像的对比度将减小;当线性变换函数的斜率等于 1 时,图像的对比度不变,只是像素点整体的移动。虽然线性变换可以改变对比度,但是对图像的细节部分增强有限。1.1. 在在 MATLABMATLAB 中编写灰度图像的对指数点运算程序中编写灰度图像的对指数点运算程序图片图片 1 1 对数处理程序:对数处理程序:I=imread(图片 1.png); %读入原图像I=im2double(I); %转换数据类型为 doubleI=rgb2gray(I); figure(1); imshow(I); %显示原图像 title(原图像);figure(3); H,x=imhist(I,64);stem(x,(H/M/N),.); title(原图像);figure(2); y=log(I+1); imshow(I); title(对数变换);figure(4); H,x=imhist(y,64); stem(x,(H/M/N),.); title(对数变换);实验结果如下图所示:实验结果如下图所示:00.10.20.30.40.50.60.70.80.9100.010.020.030.040.050.060.070.08代 代 代00.10.20.30.40.50.60.70.80.9100.010.020.030.040.050.060.070.080.09代 代 代 代图片 1 直方图 图片 1 对数变换直方图代 代 代 代对数变换后图像图片图片 1 1 指数处理程序:指数处理程序:I=imread(图片 1.png); %读入原图像I=im2double(I); %转换数据类型为 doubleI=rgb2gray(I); M,N=size(I); figure(1); imshow(I); %显示原图像 title(原图像);figure(3); H,x=imhist(I,64); stem(x,(H/M/N),.); title(原图像);figure(2); imshow(imadjust(I,3); figure(4); H,x=imhist(imadjust(I,4),64); stem(x,(H/M/N),.); title(指数变换);实验结果如下图所示:实验结果如下图所示:00.10.20.30.40.50.60.70.80.9100.010.020.030.040.050.060.070.08代 代 代00.10.20.30.40.50.60.70.80.9100.10.20.30.40.50.60.7代 代 代 代图片 1 直方图 指数变换后直方图图片 1 指数变换后图像图片图片 2 2 对指数处理程序参考图片对指数处理程序参考图片 1 1 处理程序。对指数处理结果如图所示:处理程序。对指数处理结果如图所示:代 代 代 代图片 2 指数变换后图像00.10.20.30.40.50.60.70.80.9100.020.040.060.080.10.120.140.160.180.2代 代 代00.10.20.30.40.50.60.70.80.9100.020.040.060.080.10.12代 代 代 代图片 2 直方图 指数变换后直方图00.10.20.30.40.50.60.70.80.9100.020.040.060.080.10.120.140.160.18代 代 代 代对数变换后直方图代 代 代 代图片 2 对数变换后图像2.2. 实验结果分析实验结果分析A、对数变换采用对数变换,当函数自变量为低值时,曲线斜率很高;自变量为高值时,曲线斜率变小。由变换后图像和直方图可以得出,对数变换是增强图像中较暗的细节,从而可用来扩展被压缩的高值图像中较暗的像素。B、指数变换对数变换采用的是伽玛变换(1) ,同理图像的高灰度区域对比度得到增加。因为伽玛变换变换不是线性变换,不仅可以改变图像的对比度,还能够增强细节,从而带来整体图像效果的增强和改善。(2 2)分别用)分别用 RobertsRoberts 算子、算子、SobelSobel 算子、算子、LoGLoG 算子和算子和 CannyCanny 算子进行边缘检算子进行边缘检测,比较它们的效果并讨论其特点;测,比较它们的效果并讨论其特点;图片 3 图片 4实验步骤:实验步骤:1.1. 在在 MATLABMATLAB 中编写检测程序中编写检测程序I=imread(图片 3.png);bw1=edge(I,roberts);bw2=edge(I,sobel);bw3=edge(I,log);bw4=edge(I,canny);figure(1);imshow(I);title(原图像);figure(2);imshow(bw1);title(roberts);figure(3);imshow(bw2);title(sobel);figure(4);imshow(bw3);title(log);figure(5);imshow(bw4);title(canny);实验结果如图所示:实验结果如图所示:roberts图片 3 经过 roberts 算子检测的图像sobel图片 3 经过 sobel 算子检测的图像log图片 3 经过 LoG 算子检测的图像canny图片 3 经过 canny 算子检测的图像图片图片 4 4 处理程序参考图片处理程序参考图片 3 3 处理程序。实验结果如下图所示:处理程序。实验结果如下图所示:robertssobelroberts 处理后图像 sobel 处理后图像logcannyLoG 处理后图像 canny 处理后图像2.2. 实验结果分析实验结果分析由实验结果可以看出:Roberts 利用局部差分算子寻找边缘,边缘定位精度较高,但是容易丢失一部分边缘,同时由于图像没经过平滑处理,因此不具备抑制噪声的能力,所以对含噪声少的图像的处理效果较好;Sobel 算子考虑了邻域信息,相当于对图像先做加权平滑处理,然后再做微分运算,虽然能够对噪声有抑制效果,但不能完全排除检测结果中出现的虚假边缘。对边缘定位准确,但检测出的边缘容易出现多像素宽度;LoG 算子即高斯-拉普拉斯算子,克服了拉普拉斯抗噪声比较差的缺点,但在抑制噪声的同时也可能将原有的比较尖锐的边缘也平滑掉,造成这些尖锐的边缘无法被检测到,但是相对于 Roberts 算子和 Sobel 算子处理结果稍好;Canny 算子:在图像边缘检测中,抑制噪声和边缘精确定位是无法同时瞒足的,Canny 算子在力图在抗干扰和精确定位之间寻求最佳的折中方案。由图像处理结果可以看出,效果较前三者边缘更细腻、清楚。从边缘定位的精度看:Roberts 算子和 LoG 算子定位精度更高。从对不同方向边缘的敏感性而言:Sobel 算子检测斜向阶跃边缘效果较好;Roberts 算子检测水平和垂直边缘效果较好;LoG 算子不具备边缘方向检测能力;Soberl 算子可以提供最精确的边缘方向估计。从去噪能力看:Roberts 算子和 LoG 算子虽然定位精度较高,但受噪声影响大。从总体效果来衡量,Canny 算子给出了一种边缘定位精确性和抗噪声干扰性的较好折中。(3 3)采用不同阈值化方法(固定阈值、迭代阈值、)采用不同阈值化方法(固定阈值、迭代阈值、Ots
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号