实验一 图像增强和图像分割实验Word文档下载推荐.docx
《实验一 图像增强和图像分割实验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验一 图像增强和图像分割实验Word文档下载推荐.docx(34页珍藏版)》请在冰豆网上搜索。
%tan=60a=sqrt(3);
figure(7);
title(tan=60);
figure(8);
实验结果如下图所示:
图片1的原图像图片1的30度线性变换图像图片1的45度线性变换图像图片1的60度线性变换图像原图像的直方图30度变换后直方图45度变换后的直方图60度变换后直方图图片2处理程序参考图片1处理程序。
图片2实验结果如图所示:
图片2原图像30度变换后图像45度变换后图像60度变换后图像2.实验结果分析由实验结果可以看出,当按照30度线性变换后图像变暗,按照45度变换后图像没有任何改变,按照60度变换后图像变亮,由变换后的直方图可以确认像素点的变化。
由以上分析可以得出,当线性变换函数的斜率大于1时,图像的对比度将增大;
当线性变换的斜率小于时,图像的对比度将减小;
当线性变换函数的斜率等于1时,图像的对比度不变,只是像素点整体的移动。
虽然线性变换可以改变对比度,但是对图像的细节部分增强有限。
1.在MATLAB中编写灰度图像的对指数点运算程序图片1对数处理程序:
I=imread(图片1.png);
%转换数据类型为doubleI=rgb2gray(I);
H,x=imhist(I,64);
y=log(I+1);
title(对数变换);
图片1直方图图片1对数变换直方图对数变换后图像图片1指数处理程序:
M,N=size(I);
imshow(imadjust(I,3);
H,x=imhist(imadjust(I,4),64);
title(指数变换);
图片1直方图指数变换后直方图图片1指数变换后图像图片2对指数处理程序参考图片1处理程序。
对指数处理结果如图所示:
图片2指数变换后图像图片2直方图指数变换后直方图对数变换后直方图图片2对数变换后图像2.实验结果分析A、对数变换采用对数变换,当函数自变量为低值时,曲线斜率很高;
自变量为高值时,曲线斜率变小。
由变换后图像和直方图可以得出,对数变换是增强图像中较暗的细节,从而可用来扩展被压缩的高值图像中较暗的像素。
B、指数变换对数变换采用的是伽玛变换
(1),同理图像的高灰度区域对比度得到增加。
因为伽玛变换变换不是线性变换,不仅可以改变图像的对比度,还能够增强细节,从而带来整体图像效果的增强和改善。
(2)分别用Roberts算子、Sobel算子、LoG算子和Canny算子进行边缘检测,比较它们的效果并讨论其特点;
图片3图片4实验步骤:
1.在MATLAB中编写检测程序I=imread(图片3.png);
bw1=edge(I,roberts);
bw2=edge(I,sobel);
bw3=edge(I,log);
bw4=edge(I,canny);
imshow(bw1);
title(roberts);
imshow(bw2);
title(sobel);
imshow(bw3);
title(log);
imshow(bw4);
title(canny);
实验结果如图所示:
图片3经过roberts算子检测的图像图片3经过sobel算子检测的图像图片3经过LoG算子检测的图像图片3经过canny算子检测的图像图片4处理程序参考图片3处理程序。
roberts处理后图像sobel处理后图像LoG处理后图像canny处理后图像2.实验结果分析由实验结果可以看出:
Roberts利用局部差分算子寻找边缘,边缘定位精度较高,但是容易丢失一部分边缘,同时由于图像没经过平滑处理,因此不具备抑制噪声的能力,所以对含噪声少的图像的处理效果较好;
Sobel算子考虑了邻域信息,相当于对图像先做加权平滑处理,然后再做微分运算,虽然能够对噪声有抑制效果,但不能完全排除检测结果中出现的虚假边缘。
对边缘定位准确,但检测出的边缘容易出现多像素宽度;
LoG算子即高斯-拉普拉斯算子,克服了拉普拉斯抗噪声比较差的缺点,但在抑制噪声的同时也可能将原有的比较尖锐的边缘也平滑掉,造成这些尖锐的边缘无法被检测到,但是相对于Roberts算子和Sobel算子处理结果稍好;
Canny算子:
在图像边缘检测中,抑制噪声和边缘精确定位是无法同时瞒足的,Canny算子在力图在抗干扰和精确定位之间寻求最佳的折中方案。
由图像处理结果可以看出,效果较前三者边缘更细腻、清楚。
从边缘定位的精度看:
Roberts算子和LoG算子定位精度更高。
从对不同方向边缘的敏感性而言:
Sobel算子检测斜向阶跃边缘效果较好;
Roberts算子检测水平和垂直边缘效果较好;
LoG算子不具备边缘方向检测能力;
Soberl算子可以提供最精确的边缘方向估计。
从去噪能力看:
Roberts算子和LoG算子虽然定位精度较高,但受噪声影响大。
从总体效果来衡量,Canny算子给出了一种边缘定位精确性和抗噪声干扰性的较好折中。
(3)采用不同阈值化方法(固定阈值、迭代阈值、Otsu阈值等)对图像进行分割,比较它们的效果并讨论其特点;
图片5图片6实验步骤:
1.固定阈值:
I=imread(图片5.png);
imhist(I);
title(直方图);
i=1;
j=1;
fori=1:
1:
256forj=1:
256if(I(i,j)=TK)iForeground=iForeground+1;
ForegroundSum=ForegroundSum+double(tmp);
%前景灰度值elseiBackground=iBackground+1;
BackgroundSum=BackgroundSum+double(tmp);
endendendZO=ForegroundSum/iForeground;
%计算前景和背景的平均值ZB=BackgroundSum/iBackground;
TKTmp=uint8(ZO+ZB)/2;
if(TKTmp=TK)bcal=0;
elseTK=TKTmp;
end%当阈值不再变化的时候,说明迭代结束enddisp(strcat(迭代后的阀值:
num2str(double(TK);
%显示最终阈值newI=im2bw(I,double(TK)/255);
title(原始图像);
imshow(newI);
title(迭代法分割)实验结果:
迭代后的阀值:
128图片5迭代分割图片6处理过程同上,实验结果如图所示:
104图片6迭代分割3.Otsu阈值:
level=graythresh(I);
BW=im2bw(I,level);
imshow(BW);
title(otsu);
实验结果:
Level=0.5137Otsu阈值分割图片6处理过程同上,实验结果如下:
Level=0.4039;
Otsu阈值分割4.实验结果分析固定阈值:
由图片5和图片6的处理结果看出,固定阈值适合具有明显双峰的图像,但是当两个峰值相差很远时不适用,而且容易受到噪声的干扰,进而导致阈值的选取误差。
又因为直方图是各灰度的像素统计,其峰值和谷底并不一定代表目标和背景,所以没有图像其他方面的知识,只靠直方图进行图像分割是不一定准确的。
迭代阈值:
基本思想是:
开始选择一个阈值作为初始值,然后按照某种方法不断更新这个阈值,直到满足给定的条件为止。
由处理结果可以看出,迭代阈值法不需要再依靠直方图或其他方法给出分割阈值,就能够很好的分割图像。
对于图片6效果不是很好。
Otsu阈值:
Otsu阈值又称最大类间方差法,函数Graythresh可以自适应地确定变换所用的最优阈值。
由图像处理结果可以看出,对于简单图像处理效果稍好,但是对于复杂图像的处理效果不好,常常给物体的边缘带来误差。
(4)对于2幅不同的纹理图像,计算其灰度共生矩阵及相关的二次统计量(能量、惯性、相关性、熵等),并比较有何不同?
从这些统计量中可以看出纹理图像有何特点?
图片7图片8实验步骤:
1.实验程序%基于共生矩阵纹理特征提取,d=1,=0,45,90,135共四个矩阵%所用图像灰度级均为256Gray=imread(图片7.png);
M,N=size(Gray);
I=zeros(M,N);
I=(Gray-rem(Gray,8)/8;
imshow(Gray,);
title(256*256);
imhist(Gray);
imshow(I,);
title(8*8);
%-%计算四个共生矩阵P,取距离为1,角度分别为0,45,90,135%-P=zeros(8,8,4);
form=1:
8forn=1:
8fori=1:
Mforj=1:
Nifj1&
jN&
I(i,j)=m-1&
I(i-1,j+1)=n-1P(m,n,2)=P(m,n,2)+1;
P(n,m,2)=P(m,n,2);
endifiM&
I(i+1,j)=n-1P(m,n,3)=P(m,n,3)+1;
P(n,m,3)=P(m,n,3);
I(i+1,j+1)=n-1P(m,n,4)=P(m,n,4)+1;
P(n,m,4)=P(m,n,4);
endendendifm=nP(m,n,:
)=P(m,n,:
)*2;
endendend%-%对共生矩阵归一化%-forn=1:
4P(:
:
n)=P(:
n)/sum(sum(P(:
n);
end%-%4.对共生矩阵计算能量、熵、惯性矩、相关4个纹理参数%-H=zeros(1,4);
I=H;
Ux=H;
Uy=H;
deltaX=H;
deltaY=H;
C=H;
forn=1:
4E(n)=sum(sum(P(:
n).2);
%能量fori=1:
8forj=1:
8ifP(i,j,n)=0H(n)=-P(i,j,n)*log(P(i,j,n)+H(n);
%熵endI(n)=(i-j)2*P(i,j,n)+I(n);
%惯性矩Ux(n)=i*P(i,j,n)+Ux(n);
%相关性中xUy(n)=j*P(i,j,n)+Uy(n);
%相关性中yendendendforn=1:
4fori=1:
8deltaX(n)=(i-Ux(n)2*P(i,j,n)+deltaX(n);
%相关性中xdeltaY(n)=(j-Uy(n)2*P(i,j,n)+deltaY(n);
%相关性中yC(n)=i*j*P(i,j,n)+C(n);
endendC(n)=(C(n)-Ux(n)*Uy(n)/deltaX(n)/deltaY(n);
%相关性end%-%求能量、熵、惯性矩、相关的均值和标准差作为最终8维纹理特征%-b1=sqrt(cov(E);
a1=mean(E);
b2=sqrt(cov(H);
a2=mean(H);
b3=sqrt(cov(I);
a3=mean(I);
b4=sqrt(cov(C);
a4=mean(C);
sprintf(0,45,90,135方向上的能量依次为:
%f,%f,%f,%f,E
(1),E
(2),E(3),E(4)%输出数据;
sprintf(0,45,90,135方向上的熵依次为:
%f,%f,%f,%f,H
(1),H
(2),H(3),H(4)%输出数据;
sprintf(0,45,90,135方向上的惯性矩依次为:
%f,%f,%f,%f,I
(1),I
(2),I(3),I(4)%输出数据;
sprintf(0,45,90,135方向上的相关性依次为:
%f,%f,%f,%f,C
(1),C
(2),C(3),C(4)%输出数据;
2.实验结果如下所示:
图片7的结果:
ans=0,45,90,135方向上的能量依次为:
0.170495,0.143078,0.164191,0.141377ans=0,45,90,135方向上的熵依次为:
2.223837,2.366822,2.239749,2.389057ans=0,45,90,135方向上的惯性矩依次为:
0.671650,0.907801,0.640556,0.982820ans=0,45,90,135方向上的相关性依次为:
0.672787,0.543289,0.677332,0.507081共生矩阵:
P(:
1)=0000000000000000000000000000.00170.00360.00170.00030.00060000.00360.02210.02930.01020.00190000.00170.02930.07810.05370.01970000.00030.01020.05370.11520.09410000.00060.00190.01970.09410.3527P(:
2)=00000000000000000000000000000.00350.00390.00070.00070000.00350.01840.03260.01600.00640000.00390.03260.08010.05640.02620000.00070.01600.05640.09500.10180000.00070.00640.02620.10180.3099P(:
3)=0000000000000000000000000000.00190.00440.00190.00060.00030000.00440.02460.03250.00790.00220000.00190.03250.08400.05810.01480000.00060.00790.05810.11050.09600000.00030.00220.01480.09600.3411P(:
4)=00000000000000000000000000000.00290.00390.00210.00070000.00290.01500.03580.01720.00570000.00390.03580.07440.05760.03260000.00210.01720.05760.08590.09810000.00070.00570.03260.09810.3114图片8的结果:
0.375000,1.000000,0.375000,NaNans=0,45,90,135方向上的熵依次为:
1.039721,0.000000,1.039721,NaNans=0,45,90,135方向上的惯性矩依次为:
0.500000,0.000000,4.500000,NaNans=0,45,90,135方向上的相关性依次为:
-1.777778,NaN,-0.197531,NaN共生矩阵:
1)=00000000000000000000000000000000000000000000000000000000.25000000000.25000.5000P(:
2)=0000000000000000000000000000000000000000000000000000000000000001P(:
3)=0000000000000000000000000000000000000000.2500000000000000000000000.2500000.5000P(:
4)=NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN3.实验结果分析:
灰度共生矩阵是对图像上保持某距离的两象素分别具有某灰度的状况进行统计。
实验获取了0、45、90和135方向分别的灰度共生矩阵,及各灰度共生矩阵的相关特征。
能量:
反映了图像灰度分布均匀程度和纹理粗细度。
由图片7实验结果可以看出,图片7在0和90方向分布较均匀,与实际图片相符合;
图片8在45方向分布均匀。
熵:
图像所具有的信息量的度量。
图片7的熵值较大且各方向近似相等,表明图片7中充满纹理;
图片8中熵值差别较大,且灰度共生矩阵接近零矩阵,则图片8几乎没有纹理。
惯性矩:
反映了图像的清晰度和纹理沟纹深浅的程度。
图片7在45和135方向惯性矩稍大,表明在这两个方向纹理沟纹深;
而图片8在90方向惯性矩稍大,图像清晰。
相关性:
度量空间灰度共生矩阵元素在行和列方向上的相似程度,相关值大小反映了图像中局部灰度相关性。
图片7在45和135方向相关性小,可以认为这两个方向为纹理的主方向;
图片8在0和90出现负值,在另外两个方向出现错误,可以认为0和90为主方向。
总结:
通过这四个简单的图像处理小实验,简单了解了灰度图像的简单处理,例如由真彩转灰度、图像数据格式转换、灰度级的压缩等。
不仅仅是从眼睛分辨图片的特征,更要依据数据的理论分析。
从简单的图像处理实验可以感受到图像处理的强大,在图像处理的道路上有很多任务要完成。