图像测量专题实验报告xjtu.docx

上传人:b****1 文档编号:299219 上传时间:2023-04-28 格式:DOCX 页数:28 大小:2MB
下载 相关 举报
图像测量专题实验报告xjtu.docx_第1页
第1页 / 共28页
图像测量专题实验报告xjtu.docx_第2页
第2页 / 共28页
图像测量专题实验报告xjtu.docx_第3页
第3页 / 共28页
图像测量专题实验报告xjtu.docx_第4页
第4页 / 共28页
图像测量专题实验报告xjtu.docx_第5页
第5页 / 共28页
图像测量专题实验报告xjtu.docx_第6页
第6页 / 共28页
图像测量专题实验报告xjtu.docx_第7页
第7页 / 共28页
图像测量专题实验报告xjtu.docx_第8页
第8页 / 共28页
图像测量专题实验报告xjtu.docx_第9页
第9页 / 共28页
图像测量专题实验报告xjtu.docx_第10页
第10页 / 共28页
图像测量专题实验报告xjtu.docx_第11页
第11页 / 共28页
图像测量专题实验报告xjtu.docx_第12页
第12页 / 共28页
图像测量专题实验报告xjtu.docx_第13页
第13页 / 共28页
图像测量专题实验报告xjtu.docx_第14页
第14页 / 共28页
图像测量专题实验报告xjtu.docx_第15页
第15页 / 共28页
图像测量专题实验报告xjtu.docx_第16页
第16页 / 共28页
图像测量专题实验报告xjtu.docx_第17页
第17页 / 共28页
图像测量专题实验报告xjtu.docx_第18页
第18页 / 共28页
图像测量专题实验报告xjtu.docx_第19页
第19页 / 共28页
图像测量专题实验报告xjtu.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

图像测量专题实验报告xjtu.docx

《图像测量专题实验报告xjtu.docx》由会员分享,可在线阅读,更多相关《图像测量专题实验报告xjtu.docx(28页珍藏版)》请在冰点文库上搜索。

图像测量专题实验报告xjtu.docx

图像测量专题实验报告xjtu

 

图像测量专题实验报告

 

高**

自动化42

04054035

 

2007.11

 

实验一:

图像基本处理操作

一、实验内容

图像基本处理操作(图像显示、读写、像素统计处理、图像文件I/O等)

二、实验目的

培养学生相关图像基本处理操作的能力

三、实验源程序

f=imread('e:

\dog.bmp');

imshow(f);

g=rgb2gray(f);

imwrite(g,'f:

\dog.jpg');

whos

四、实验结果与分析

实验结果如下:

 

图1-1图1-2

图1-1为从本地盘E读取的dog.bmp文件通过imshow()函数显示;图1-2是把读取的彩色图像通过rgb2gray()函数转换为灰度图并通过imwrite()函数存在本地盘F中,保存的文件名为dog.jpg。

whos命令用来图像文件的像素统计处理,如图1-1(f)和图1-2(g)文件属性如下:

NameSizeBytesClass

f353x480x3508320uint8array

g353x480169440uint8array

m1x18doublearray

n1x18doublearray

Grandtotalis677762elementsusing677776bytes

 

实验二:

图像分割

一、实验内容

图像分割(哈夫变换、边缘检测edge、阈值分割)

二、实验目的

增强学生相关图像基本处理操作的能力

三、实验源程序

1.哈夫变换源程序如下:

clear

g=imread('e:

\source.bmp');

[m,n]=size(g);imshow(g);title('Ôʼͼ')

rho=2*round(sqrt(m^2+n^2));

theta=180;q=zeros(rho,theta);

fork=1:

m

forl=1:

n

ifg(k,l)==0

fori=1:

theta

p=round(k*cos(i*pi/180)+l*sin(i*pi/180));

q(p+rho/2,i)=q(p+rho/2,i)+1;

end

end

end

end

I=zeros(m,n);

[i,j]=max(q);[i,k]=max(i);

whilei>90

x=j(k);

y=k;

q(j(k):

j(k)+5,k:

k+5)=0;

ifk==0

I(:

j(k)-rho/2)=1;

else

ifk==90

I(j(k)-rho/2,:

)=1;

else

K=-cot(k*pi/180);

b=(j(k)-rho/2)/sin(k*pi/180);

foru=1:

m

v=round(K*u+b);

ifv>0&&v<=n

I(u,v)=1;

end

end

end

[i,j]=max(q);

[i,k]=max(i);

end

end

figure;imshow(I);title('hough±ä»»¼ì²â³öµÄÖ±Ïß');

2.边缘检测edge源程序如下:

clear

f=imread('e:

\twins.bmp');

g=rgb2gray(f);

imshow(f);title('ÔʼͼÏñ');

BW1=edge(g,'prewitt');

BW2=edge(g,'sobel');

figure;imshow(BW1);

title('±ßÔµ¼ì²â(prewittËã×Ó)');

figure;imshow(BW2);

title('±ßÔµ¼ì²â(sobelËã×Ó)');

3.阈值分割源程序如下:

clear

g=imread('e:

\jintaixi.bmp');

g=rgb2gray(g);imshow(g);title('Ôʼ»Ò¶ÈͼÏñ')

t=0.5*(double(min(g(:

)))+double(max(g(:

))));

done=false;

while~done

a=g>t;

tnext=0.5*(mean(g(a))+mean(g(~a)));

done=abs(t-tnext)<0.5;

t=tnext

end

[m,n]=size(g);

fori=1:

m

forj=1:

n

if(g(i,j)

g(i,j)=0;

else

g(i,j)=255;

end

end

end

figure;imshow(g);title('ãÐÖµ·Ö¸îºóµÄͼÏñ');

四、实验结果与分析

1.哈夫变换

哈夫(Hough)变换是利用图像全局特性而将边缘象素连接起来组成区域封闭边界的1种方法。

哈夫变换的基本思想是点一线的对偶性(duality)。

在图像空间XY里,所有过点(x,y)的直线都满足方程:

y=px+q   其中p为斜率,q为截距。

上式也可写成:

q=-px+y             

上式可认为代表参数空间PQ中过点(p,q)的1条直线。

如果直线接近竖直方向,则会由于p和q的值都接近无穷,此时可用直线的极坐标方程:

 ρ=xcosθ+ysinθ

实验步骤如下:

(1)在原图中找目标点。

(2)根据目标点坐标在θρ平面画正弦曲线,曲线经过之处,计数器投票加1。

(3)在θρ平面的最大值,根据其坐标求直线的斜率k,截距b

k=-cotθ,b=ρ/sinθ

(4)将最大值的邻域清零。

(5)重复3),4),直到找到所有直线。

实验结果如下:

图2-1图2-2

2.边缘检测

由于图像在边缘处的灰度值不连续,故在图像边缘处求导数(1阶或2阶)是会出现尖峰,这就是边缘检测的原理。

在计算机实现当中,应将求导过程离散化,故可应用不同的离散化模板逐像素进行卷积。

Matlab中利用edge()函数可以对图像进行边缘检测。

实验结果如下:

图2-3原始图像

 

图2-4prewitt算子图2-5sobel算子

3.阈值分割

阈值分割是最常见的并行的直接检测区域的分割方法。

假设图像由具有单峰灰度分布的目标和背景组成,在目标和背景内部的相邻象素间的灰度值是高度相关的,但在目标和背景处两边的象素在灰度值上有很大的区别,这类图像常可用取阈值方法来较好的分割。

阈值分割法的关键是确定阈值,实际应用为自动选取一个阈值,可采取如下迭代步骤:

(1)为T选取一个初始估计值(图像中最大亮度值和最小亮度值的中间值)

(2)使用T分割图像。

将图像中每个象素的灰度值与T比较,象素的灰度值大于T为G1,象素的灰度值小于T为G2

(3)计算G1和G2范围内像素的平均亮度值u1和u2

(4)计算一个新阈值:

T=0.5(u1+u2)

(5)复步骤2到4连续迭代中T的差值比预先指定的参数T0小为止

实验结果如下:

图2-6阈值分割后图像

 

实验三:

图像增强

一、实验内容

图像增强(直方图直方图均化、对比度增强、均值滤波、中值滤波)

二、实验目的

培养学生相关图像基本处理操作的能力

三、实验源程序

源程序如下:

clear

f=imread('e:

\cat.bmp');

g=rgb2gray(f);

gzhifang=histeq(g,256);

figure;imshow(g);title('Ô»Ò¶ÈͼÏñ');

figure;imshow(gzhifang);title('Ö±·½Í¼¾ùºâ');

gzengqiang=imadjust(g,[0.30.7],[]);

figure;imshow(gzengqiang);title('¶Ô±È¶ÈÔöÇ¿')

gn=imnoise(g,'salt&pepper',0.02);figure;

imshow(gn);title('¼ÓÈëÔëÉùºóµÄ»Ò¶ÈͼÏñ');

w=[1,1,1;1,1,1;1,1,1];w=w/9;

gaver=imfilter(gn,w,'replicate');

figure;imshow(gaver);title('¾ùÖµÂ˲¨');

gmid=medfilt2(gn);figure;imshow(gmid);title('ÖÐÖµÂ˲¨');

四、实验结果与分析

实验结果如下:

 

 

 

结果分析:

1.直方图均衡化

此方法的基本思想是把原始图分布非均匀的直方图变换为均匀分布的形式,这样就增加了像素灰度值得动态范围从而达到增强图像整体对比度的效果。

matlab中函数命令为histeq().

2.对比度增强

增强图像对比度实际是增强原图的各部分的反差。

实际中往往是通过原图里两个灰度间的动态范围来实现的。

matlab中函数命令为imadjust().由上图可以看到对比度明显增强。

3.中值滤波

中值滤波器是一种非线性平滑滤波器。

它是让与周围像素灰度值得差比较大的像素改取于周围像素接近的值,以消除孤立的噪声点。

matlab中函数命令为medfilt2()。

由于它不是简单的取均值,所以产生的模糊比较少。

本实验选取的灰度图无噪声,为了比较中值滤波前后效果,对原图加盐椒噪声,中值滤波后,消除了噪声,图像细节基本没变化。

4.均值滤波

均值滤波器是一个线性平滑滤波器,它的3×3模板所有系数都为1。

由上面实验结果可以看到它对噪声有所消除,但同时所得达到的图像变得更为模糊。

 

实验四:

图像函数编程

(1)

一、实验内容

编程实现rmse、H(熵)

二、实验目的

培养学生相关图像函数基本编程的能力

三、实验源程序

源程序如下:

1.rmse

rmse是图像的均方根误差。

即公式

 

functionr=rmse(A,B)

r=0;[m,n,z]=size(A);

forstep=1:

z

s=sqrt(sum(sum((A(:

:

step)-B(:

:

step)).^2))/(m*n));

r=r+s;

end

r=r/3;

2.H熵

熵值的大小表示图像所包含的平均信息量的多少,反映了图像中具有不同灰度值像素的概率分布,熵越大说明图像的融合效果越好。

其中

为图像第i级灰度值的概率。

functionresult=entropy(I)

[m,n,s]=size(I);

ifs==3

I=rgb2gray(I);

else

I=I;

end

I=double(I);

A=size(I);h=A

(1)*A

(2);result=0;

fork=1:

256

X=(I==k-1);

D(k)=sum(sum(X));P(k)=D(k)./h;

if(P(k)~=0)

result=P(k)*log2(P(k))+result;

end

end

result=-result;

四、实验结果与分析

实验结果如下:

将上面编写的函数m文件名命名为函数名(rmse.m,entropy.m),以后可以直接调用此函数。

Matlab的windowscommand区键入如下命令:

>>a=imread('e:

\e1.bmp');

>>b=imread('e:

\e2.bmp');

>>RMSE=rmse(a,b)

回车运行得到

RMSE=

3.3160

其中e1.bmp和e2.bmp如下:

图4-1e1.bmp图4-2e2.bmp

对于求图4-3的H熵,如下:

图4-3twins.bmp

>>a=imread('e:

\twins.bmp');

>>H=entropy(a)

回车运行得到

H=

7.1031

 

实验五:

图像函数编程

(2)

一、实验内容

编程实现psnr

二、实验目的

培养学生相关图像函数基本编程的能力

三、实验源程序

PSNR是峰值信噪比简称。

PSNR的计算公式为:

PSNR=10lg(255x255/RMSE);

源程序如下:

functionresult=PSNR(A,B)

A=double(A);B=double(B);

r=0;

[m,n,z]=size(A);

forstep=1:

z

s=sqrt(sum(sum((A(:

:

step)-B(:

:

step)).^2))/(m*n));

r=r+s;

end

rmse=r/3;

result=10*log10(255^2/rmse);

四、实验结果与分析

将上面编写的函数m文件名命名为函数名psnr.m,直接调用此函数。

Matlab的windowscommand区键入如下命令:

>>a=imread('e:

\e1.bmp');

>>b=imread('e:

\e2.bmp');

>>PSNR=psnr(a,b)

其中e1.bmp和e2.bmp同上一题相同,回车运行得到:

PSNR=

39.6875

 

实验六:

目标表达和描述

一、实验内容

目标表达和描述(欧拉数、图像面积、bwperim、bwlabel、利用逻辑运算提取物体、特征与运算)

二、实验目的

培养学生相关图像函数基本编程的能力

三、实验源程序

源程序如下:

clear

f=imread('e:

\bird.bmp');

f=im2bw(f);

imshow(f);title('Ôʼ¶þֵͼÏñ');

euler=bweuler(f)

area=bwarea(f)

g1=bwperim(f,8);

figure;imshow(f);title('¶þֵͼÏñÖжÔÏóµÄÖܳ¤');

L=bwlabel(f,8);

[r,c]=find(L==2);

rc=[rc]

BW1=bwmorph(f,'remove');

figure;imshow(BW1);title('¶þֵͼÏñÂÖÀª');

BW2=bwmorph(f,'skel',Inf);

figure;imshow(BW2);title('¶þֵͼÏñ¹Ç¼Ü');

四、实验结果与分析

实验结果如下:

 

 

其中欧拉数E=C-H,H为区域内的孔数,C是区域内的连通组原的个数。

欧拉数为:

euler=

2

面积为:

area=

4.0891e+003

rc=

1(14,84)………1(14,92)

..

.………….

..

1(24,84)………1(24,92)

注:

rc是一个矩阵,为了方便写成了上面的形式。

由于”bird”的第二个连通组元是字母”i”上的一点,以下代码:

L=bwlabel(f,8);

[r,c]=find(L==2);

rc=[rc]

即是寻找第二个联通组元,结果与预想的一样。

 

说明:

此专题实验的第7,8,9题实验内容都是关于图像融合的,为了方便归为一个实验报告里,见实验七:

图像融合。

实验七:

图像融合

一、实验内容

基于GUI界面的图像处理算法-----图像融合

二、实验目的

了解有一定应用背景的图像处理算法,培养学生相关图像处理的分析问题的能力

三、实验原理

基于小波变换的融合算法原理:

①对每一路图像进行小波变换,分别到其水平、垂直、四十五度角方向的高频分量以及其低频分量,得到每路图像的小波金字塔;

②按取较大值的原则对两幅图像的不同层次、不同特征层的信息图分别进行融合;

③根据融合的各图像分量的小波序列,进行小波逆变换,得到最后的融合图像。

其中,主要使用了以下两个函数:

i.小波分解函数:

dwt2

语法格式:

[cA,cH,cV,cD]=dwt2(X,’db8’)

该语句的作用是对输入信号X做一次小波分解。

其中cA表示分解得到的近似分量系数;cH表示分解得到的水平分量系数;cV表示分解得到的垂直分量系数;cD表示分解得到的对角线分量系数;db8表示分解所用滤波器组。

ii.小波重构函数:

idwt2

语法格式:

X=idwt2(cA,cH,cV,cD,’db8’)

该语句的作用是进行一次二维小波重构。

其中,X表示重构的分量信号,cA表示分解得到的近似分量系数;cH表示分解得到的水平分量系数;cV表示分解得到的垂直分量系数;cD表示分解得到的对角线分量系数;db8表示重构所用的滤波器组。

四、实验源程序

GUI界面里最核心的为小波变换的融合算法,其他的限于篇幅不再罗列,融合算法函数如下:

functionF=Wavelet(A,B)

[m,n,dimensions]=size(A);

%imageAdecomposition

fors=1:

dimensions

[caa1,cha1,cva1,cda1]=dwt2(A(:

:

s),'db8');

S1=size(caa1);

[caa2,cha2,cva2,cda2]=dwt2(caa1,'db8');

S2=size(caa2);

[caa3,cha3,cva3,cda3]=dwt2(caa2,'db8');

S3=size(caa3);

%imageBdecomposition

[cab1,chb1,cvb1,cdb1]=dwt2(B(:

:

s),'db8');

[cab2,chb2,cvb2,cdb2]=dwt2(cab1,'db8');

[cab3,chb3,cvb3,cdb3]=dwt2(cab2,'db8');

%fusion

fori=1:

S3

(1)

forj=1:

S3

(2)

ifabs(caa3(i,j))>abs(cab3(i,j))

caf3(i,j)=caa3(i,j);

else

caf3(i,j)=cab3(i,j);

end

ifabs(cha3(i,j))>abs(chb3(i,j))

chf3(i,j)=cha3(i,j);

else

chf3(i,j)=chb3(i,j);

end

ifabs(cva3(i,j))>abs(cvb3(i,j))

cvf3(i,j)=cva3(i,j);

else

cvf3(i,j)=cvb3(i,j);

end

ifabs(cda3(i,j))>abs(cdb3(i,j))

cdf3(i,j)=cda3(i,j);

else

cdf3(i,j)=cdb3(i,j);

end

end

end

fori=1:

S2

(1)

forj=1:

S2

(2)

ifabs(caa2(i,j))>abs(cab2(i,j))

caf2(i,j)=caa2(i,j);

else

caf2(i,j)=cab2(i,j);

end

ifabs(cha2(i,j))>abs(chb2(i,j))

chf2(i,j)=cha2(i,j);

else

chf2(i,j)=chb2(i,j);

end

ifabs(cva2(i,j))>abs(cvb2(i,j))

cvf2(i,j)=cva2(i,j);

else

cvf2(i,j)=cvb2(i,j);

end

ifabs(cda2(i,j))>abs(cdb2(i,j))

cdf2(i,j)=cda2(i,j);

else

cdf2(i,j)=cdb2(i,j);

end

end

end

fori=1:

S1

(1)

forj=1:

S1

(2)

ifabs(caa1(i,j))>abs(cab1(i,j))

caf1(i,j)=caa1(i,j);

else

caf1(i,j)=cab1(i,j);

end

ifabs(cha1(i,j))>abs(chb1(i,j))

chf1(i,j)=cha1(i,j);

else

chf1(i,j)=chb1(i,j);

end

ifabs(cva1(i,j))>abs(cvb1(i,j))

cvf1(i,j)=cva1(i,j);

else

cvf1(i,j)=cvb1(i,j);

end

ifabs(cda1(i,j))>abs(cdb1(i,j))

cdf1(i,j)=cda1(i,j);

else

cdf1(i,j)=cdb1(i,j);

end

end

end

caf2=idwt2(caf3,chf3,cvf3,cdf3,'db8',S2);

caf1=idwt2(caf2,chf2,cvf2,cdf2,'db8',S1);

caf0=idwt2(caf1,chf1,cvf1,cdf1,'db8');

F(:

:

s)=uint8(caf0);

End

四、实验结果与分析

最终的GUI界面如下页图7-1:

图7-1最终界面

点击按钮“示例”,得到如下结果:

图7-2打开“示例”界面

除了示例外,还可以点击左上“打开图像”按钮,任意选择一幅图片为oriangalimage;同样选择图片为image1和image2。

结束后点击右侧“融合图像”命令,在右下区域可得到由image1和image2融合后的图像。

同时右下列显示原图像与融合后图像各自的熵值以及均方根误差。

图7-3

 

实验小结:

通过本专题实验,我复习了上学期学习过的图像处理和图像测量方面的知识,加深理解了关于图像方面的知识,进一步熟悉掌握了Matlab的图像处理工具箱IPT和matlab语言的GUI界面编程;了解了应用matlab工具解决有一定应用背景的图像处理算法,比如本实验的图像融合算法,增强了自己解决问题的方法和能力。

最后感谢老师提供的实验指导,使我获益匪浅,较快的解决了实验过程中遇到的问题。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2