数字图像处理课程设计.docx
- 文档编号:2577992
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:15
- 大小:137.96KB
数字图像处理课程设计.docx
《数字图像处理课程设计.docx》由会员分享,可在线阅读,更多相关《数字图像处理课程设计.docx(15页珍藏版)》请在冰点文库上搜索。
数字图像处理课程设计
1设计目的
1.通过实验体会一些基本的图像内容检索系统
2.使用matlab软件计算图像的粗糙度,对比度,方向度
3.完成规定图像的计算并要求正确评价处理结果,能够从理论上做出合理的解释
2设计思路
首先写入相关程序,使程序能够计算出所给图的数据,粗糙度,对比度,方向度,首先要给出一张图放入指定文件,文件夹位置为桌面,名称aa图片名称为F-18如图2.1所示
图2.1
3设计原理
Tamura以人类的主观心理度量作为标准,提出了六个基本的纹理特征,这些特征包括:
粗糙度(coarseness),对比度(contrast),方向度(directionality),线像度(linelikeness),规整度(regularity)和粗糙度(roughness),这些特征中最重要的主要是纹理的粗糙度,对比度和方向度。
这些纹理特征很好的对应了人类视觉感知,在许多图像检索系统中得到应用。
这里主要介绍一下粗糙度,对比度和方向度的计算。
3.1粗糙度
粗糙度
1)计算移动平均数(movingaverage),对于
的窗口,移动平均数为:
3.1
2)计算水平和垂直向的偏差
3.2
3)确定窗口大小
3.3
4)计算平均窗口大小
3.4
3.2对比度
对比度描述图像的明亮程度,它受黑白色或者不同的灰度阴影的影响,使用下面的等式来计算对比度:
3.5
黑白色的偏差为:
3.6
3.3方向度
方向性是指图像里灰度值的方向。
计算方向性需要以下四步:
1)计算每个像素的梯度g。
梯度指此像素点周围灰度值增加最快的方向。
水平梯度△h等于左边像素的三个灰度值与右边像素的三个灰度值之间的偏差,而垂
2)直梯度△v则是上下像素的三个灰度值偏差。
3.7
2)计算梯度向量的极坐标
3.8
4程序代码
4.1相关值计算
%计算Tamura纹理特征
closeall
clearall
clc
t0=cputime;
I=imread('F-18.bmp');
[Nx,Ny]=size(I);
Ng=256;
G=double(I);
%计算粗糙度(coarseness)
Sbest=zeros(Nx,Ny);
E0h=zeros(Nx,Ny);
E0v=zeros(Nx,Ny);
E1h=zeros(Nx,Ny);
E1v=zeros(Nx,Ny);
E2h=zeros(Nx,Ny);
E2v=zeros(Nx,Ny);
E3h=zeros(Nx,Ny);
E3v=zeros(Nx,Ny);
E4h=zeros(Nx,Ny);
E4v=zeros(Nx,Ny);
E5h=zeros(Nx,Ny);
E5v=zeros(Nx,Ny);
flag=0;
fori=1:
Nx
forj=2:
Ny
E0h(i,j)=G(i,j)-G(i,j-1);
end
end
E0h=E0h/2;
fori=1:
Nx-1
forj=1:
Ny
E0v(i,j)=G(i,j)-G(i+1,j);
end
end
E0v=E0v/2;
%图片大小必须大于4*4才能计算E1h、E1v
if(Nx<4||Ny<4)
flag=1;
end
if(flag==0)
fori=1:
Nx-1
forj=3:
Ny-1
E1h(i,j)=sum(sum(G(i:
i+1,j:
j+1)))-sum(sum(G(i:
i+1,j-2:
j-1)));
end
end
fori=2:
Nx-2
forj=2:
Ny
E1v(i,j)=sum(sum(G(i-1:
i,j-1:
j)))-sum(sum(G(i+1:
i+2,j-1:
j)));
end
end
E1h=E1h/4;
E1v=E1v/4;
end
%图片大小必须大于8*8才能计算E2h、E2v
if(Nx<8||Ny<8)
flag=1;
end
if(flag==0)
fori=2:
Nx-2
forj=5:
Ny-3
E2h(i,j)=sum(sum(G(i-1:
i+2,j:
j+3)))-sum(sum(G(i-1:
i+2,j-4:
j-1)));
end
end
fori=4:
Nx-4
forj=3:
Ny-1
E2v(i,j)=sum(sum(G(i-3:
i,j-2:
j+1)))-sum(sum(G(i+1:
i+4,j-2:
j+1)));
end
end
E2h=E2h/16;
E2v=E2v/16;
end
%图片大小必须大于16*16才能计算E3h、E3v
if(Nx<16||Ny<16)
flag=1
end
if(flag==0)
fori=4:
Nx-4
forj=9:
Ny-7
E3h(i,j)=sum(sum(G(i-3:
i+4,j:
j+7)))-sum(sum(G(i-3:
i+4,j-8:
j-1)));
end
end
fori=8:
Nx-8
forj=5:
Ny-3
E3v(i,j)=sum(sum(G(i-7:
i,j-4:
j+3)))-sum(sum(G(i+1:
i+8,j-4:
j+3)));
end
end
E3h=E3h/64;
E3v=E3v/64;
end
%图片大小必须大于32*32才能计算E4h、E4v
if(Nx<32||Ny<32)
flag=1;
end
if(flag==0)
fori=8:
Nx-8
forj=17:
Ny-15
E4h(i,j)=sum(sum(G(i-7:
i+8,j:
j+15)))-sum(sum(G(i-7:
i+8,j-16:
j-1)));
end
end
fori=16:
Nx-16
forj=9:
Ny-7
E4v(i,j)=sum(sum(G(i-15:
i,j-8:
j+7)))-sum(sum(G(i+1:
i+16,j-8:
j+7)));
end
end
E4h=E4h/256;
E4v=E4v/256;
end
%图片大小必须大于64*64才能计算E5h、E5v
if(Nx<64||Ny<64)
flag=1;
end
if(flag==0)
fori=16:
Nx-16
forj=33:
Ny-31
E5h(i,j)=sum(sum(G(i-15:
i+16,j:
j+31)))-sum(sum(G(i-15:
i+16,j-32:
j-31)));
end
end
fori=32:
Nx-32
forj=17:
Ny-15
E5v(i,j)=sum(sum(G(i-31:
i,j-16:
j+15)))-sum(sum(G(i+1:
i+32,j-16:
j+15)));
end
end
E5h=E5h/1024;
E5v=E5v/1024;
end
fori=1:
Nx
forj=1:
Ny
[maxv,index]=max([E0h(i,j),E0v(i,j),E1h(i,j),E1v(i,j),E2h(i,j),E2v(i,j),E3h(i,j),E3v(i,j),E4h(i,j),E4v(i,j),E5h(i,j),E5v(i,j)]);
k=floor((index+1)/2);
Sbest(i,j)=2.^k;
end
end
Fcoarseness=sum(sum(Sbest))/(Nx*Ny);
%计算对比度
[counts,graylevels]=imhist(I);
PI=counts/(Nx*Ny);
averagevalue=sum(graylevels.*PI);
u4=sum((graylevels-repmat(averagevalue,[256,1])).^4.*PI);
standarddeviation=sum((graylevels-repmat(averagevalue,[256,1])).^2.*PI);
alpha4=u4/standarddeviation^2;
Fcontrast=sqrt(standarddeviation)/alpha4.^(1/4);
%计算方向度
PrewittH=[-101;-101;-101];
PrewittV=[111;000;-1-1-1];
%计算横向梯度
deltaH=zeros(Nx,Ny);
fori=2:
Nx-1
forj=2:
Ny-1
deltaH(i,j)=sum(sum(G(i-1:
i+1,j-1:
j+1).*PrewittH));
end
end
forj=2:
Ny-1
deltaH(1,j)=G(1,j+1)-G(1,j);
deltaH(Nx,j)=G(Nx,j+1)-G(Nx,j);
end
fori=1:
Nx
deltaH(i,1)=G(i,2)-G(i,1);
deltaH(i,Ny)=G(i,Ny)-G(i,Ny-1);
end
%计算竖向梯度
deltaV=zeros(Nx,Ny);
fori=2:
Nx-1
forj=2:
Ny-1
deltaV(i,j)=sum(sum(G(i-1:
i+1,j-1:
j+1).*PrewittV));
end
end
forj=1:
Ny
deltaV(1,j)=G(2,j)-G(1,j);
deltaV(Nx,j)=G(Nx,j)-G(Nx-1,j);
end
fori=2:
Nx-1
deltaV(i,1)=G(i+1,1)-G(i,1);
deltaV(i,Ny)=G(i+1,Ny)-G(i,Ny);
end
%梯度向量模
deltaG=(abs(deltaH)+abs(deltaV))/2;
%梯度向量方向
theta=zeros(Nx,Ny);
fori=1:
Nx
forj=1:
Ny
if(deltaH(i,j)==0)&&(deltaV(i,j)==0)
elseifdeltaH(i,j)==0
theta(i,j)=pi;
else
theta(i,j)=atan(deltaV(i,j)/deltaH(i,j))+pi/2;
end
end
end
theta1=reshape(theta,1,[]);
phai=0:
0.0001:
pi;
HD1=hist(theta1,phai);
HD1=HD1/(Nx*Ny);
HD2=zeros(size(HD1));
%定义一个阈值THRESHOLD
THRESHOLD=0.01;
form=1:
length(HD2)
ifHD1(m)>=THRESHOLD
HD2(m)=HD1(m);
end
end
[c,index]=max(HD2);
phaiP=index*0.0001;
Fdirection=0;
form=1:
length(HD2)
ifHD2(m)~=0
Fdirection=Fdirection+(phai(m)-phaiP)^2*HD2(m);
end
end
disp('粗糙度:
');display(Fcoarseness)
disp('对比度:
');display(Fcontrast)
disp('方向度:
');display(Fdirection)
deltaT=cputime-t0;
display(deltaT);
5仿真结果与分析
如图5.1所示
图5.1
通过所测得的粗糙度,对比度,以及方向度,可以得出相关结论,对比度描述图像的明亮程度,它受黑白色或者不同的灰度阴影的影响,方向性是指图像里灰度值的方向,而粗糙度可以直接的显示出图片的视觉质量
5.1结果分析
通过程序计算出相关值,此图粗糙度为48.9294
对比度为13.4271
方向度为0.5559
6结论
通过这一设计过程的学习,了解了图像特征提取是图像识别的关键步骤,图像特征提取的效果如何直接决定着图像识别的效果。
本文主要是纹理特征的提取它是基于Tamura的一种提取,主要计算图像的对比度,粗糙度,以及方向度。
理论与实践向来是形影不离,相辅相成,图片的纹理特征的计算还是很重要的,主要原因还是在于实践应用上的广泛需求;而在实践中所暴露出的不足又进而促进了它的发展,循环往复,就如同生命的演化。
通过这次设计我还知道了提取图像特征的方法还有很多,还要结合别的一些手段,在以后的学习生活中还要继续全面完善的进行相关知识的学习
参考文献
[1]里朝锋,曾生根,许磊.遥感图像智能处理[M].北京:
电子工业出版社.2007122-130
[2]罗述谦,周果宏.医学图像处理及分析[M],北京:
科技出版社,2003140-145
[3]SuRuan,StephaneLebonvallet,ect.TumorSegmentationFormaMultisectralByUsingSupportVectorMachineClassification[J].BiomedicalImaging:
FromNanotoMacro:
2007165-160
[4]邢伟,基于支持向量机的图像分割[J],微计算机信息,2008:
24(I)
[5]CR.Brice,C.L.Fenema,SceneAnalysisUsingRegions[J].ArtificialIntelligence1970,205—226
[6]郭磊,武优西,刘雪娜等.基于主成分分析和支持向量机的MRJ图像多目标分割[J],中国生物医学工程学报.2007:
26(4):
498—502
[7]赵衍运,蔡安妮.使用支持向量机分割指纹图像的方法[J],北京邮电大学学报,2006:
29(02)
[8]Cheng,HD.Jiang,XH,Sun,J.Colorimagesegmentation:
[J].NewYork;SpringesVerlag,1995
[9]徐海洋.基于支持向量机方法的图像分割与目标分类[D].武汉:
华中科技大学,2005,434-435
[10]杨丽,杨新.基于区域划分的曲线演变多目标分割[J].计算机学报,420—425
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 课程设计