实验内容.docx

上传人:b****6 文档编号:6551380 上传时间:2023-01-07 格式:DOCX 页数:21 大小:2.13MB
下载 相关 举报
实验内容.docx_第1页
第1页 / 共21页
实验内容.docx_第2页
第2页 / 共21页
实验内容.docx_第3页
第3页 / 共21页
实验内容.docx_第4页
第4页 / 共21页
实验内容.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

实验内容.docx

《实验内容.docx》由会员分享,可在线阅读,更多相关《实验内容.docx(21页珍藏版)》请在冰豆网上搜索。

实验内容.docx

实验内容

机器视觉与图像处理

实验报告

 

课程名称:

机器视觉与图像处理

班级:

自动F1202

姓名:

王安

学号:

201223910318

实验时间:

2015.3.19~4.16

 

机器视觉与图像处理

专业:

自动化班级:

自动F1202姓名:

王安

学号:

201223910318完成日期:

2015.4.9成绩评定:

1、实验题目

Matlab软件的使用

二、实验目的

1.熟悉并掌握Matlab软件的一些基本概念,了解菜单栏、工具栏、状态栏、命令窗口等。

2.掌握Matlab软件安装。

3.熟悉Matlab软件基本操作环境,了解文档help中演示demo内容和ImageProcessing工具箱。

3、实验过程及结果

1.打开MATLAB软件,了解菜单栏、工具栏、状态栏、命令窗口等;

(1)双击桌面的matlab软件图标,进入matlab软件。

如图1.1所示:

图1.1matlab软件界面

(2)浏览使用matlab软件的菜单栏、工具栏、状态栏、命令窗口等。

如图2所示:

图1.2matlab窗口

2、打开help工具栏,进入demo演示内容。

如图3所示:

图1.3demo演示内容

3、找到imageProcessing工具箱,并进行初步学习,为后续实验做准备。

如图3所示:

图1.4demo练习

四、实验总结和分析

通过课上的老师的讲解和之前的了解,对matlab有了一定认识,在实验中,了解了matlab实际操作中的步骤以及matlab中demo工具箱及其功能,熟悉Matlab软件基本操作环境,巩固了课堂上的知识。

 

机器视觉与图像处理

专业:

自动化班级:

自动F1202姓名:

王安

学号:

201223910318完成日期:

2015.4.9成绩评定:

2、实验题目

图像的增强技术

二、实验目的

1.了解图像增强技术/方法的原理。

2.熟练掌握一般图像处理理论及方法,如图像滤波,图像边缘检测。

3.通过程序的调试,初步了解图像处理命令的使用方法

4、实验过程及结果

1、打开matlab软件demo工具下的ImageProcessing工具箱下Enhancement图像增强工具栏,了解认识图像增强的基本原理。

如图2.1所示:

图2.1图像增强工具界面

2、打开一个图像直方图和调整演示例程,逐步了解图像处理的方法。

Step1:

Readimage

I=imread('rice.png');

imshow(I)

Step2:

Usemorphologicalopeningtoestimatethebackground

background=imopen(I,strel('disk',15));

%DisplaytheBackgroundApproximationasaSurface

figure,surf(double(background(1:

8:

end,1:

8:

end))),zlim([0255]);

set(gca,'ydir','reverse');

Step3:

Subtractthebackroundimagefromtheoriginalimage

I2=imsubtract(I,background);

imshow(I2)

Step4:

Increasetheimagecontrast

I3=imadjust(I2);

imshow(I3);

Step5:

Thresholdtheimage

level=graythresh(I3);

bw=im2bw(I3,level);

imshow(bw)

Step7:

Viewthewholelabelmatrix

RGB_label=label2rgb(labeled,@spring,'c','shuffle');

imshow(RGB_label)

 

机器视觉与图像处理

专业:

自动化班级:

自动F1202姓名:

王安

学号:

201223910318完成日期:

2015.4.10成绩评定:

3、实验题目

图像特征提取

二、实验目的

1.了解图像特征提取的方法。

2.利用matlab软件,编程实现图像中长度、角度、半径、边界等特征的提取测量。

3.通过程序的调试,初步了解图像特征提取命令的使用方法。

5、实验过程及结果

1.双击MATLAB图标打开MATLAB软件;单击help/Demos打开帮助中的演示;找到ImageProcessing工具箱中的图像特征提取,如图3.1所示

图3.1ImageProcessing工具箱

本次实验选取一个:

测量带卷的半径。

进行试验。

我们的目标是测量辊的带,这是部分地由磁带分配器遮蔽的半径。

将利用bwtraceboundary来完成这个任务。

分为五个步骤:

*步骤1:

阅读图像

   RGB=imread('tape.png');imshow(RGB);text(15,15,'Estimateradiusoftherolloftape',...'FontWeight','bold','Color','y')

 *步骤2:

阈值图像

I=rgb2gray(RGB);threshold=graythresh(I);BW=im2bw(I,threshold);imshow(BW)

  *步骤3:

提取初始边界点位置

dim=size(BW);col=round(dim

(2)/2)-90;row=find(BW(:

col),1);

 *步骤4:

跟踪的边界

connectivity=8;num_points=180;contour=bwtraceboundary(BW,[row,col],'N',connectivity,num_points);imshow(RGB);holdon;plot(contour(:

2),contour(:

1),'g','LineWidth',2);

*步骤5:

适合圆的边界

x=contour(:

2);y=contour(:

1);%solveforparametersa,b,andcintheleast-squaressenseby%usingthebackslashoperatorabc=[xyones(length(x),1)]\-(x.^2+y.^2);a=abc

(1);b=abc

(2);c=abc(3);%calculatethelocationofthecenterandtheradiusxc=-a/2;yc=-b/2;radius=sqrt((xc^2+yc^2)-c)%displaythecalculatedcenterplot(xc,yc,'yx','LineWidth',2);%plottheentirecircletheta=0:

0.01:

2*pi;%useparametricrepresentationofthecircletoobtaincoordinates%ofpointsonthecircleXfit=radius*cos(theta)+xc;Yfit=radius*sin(theta)+yc;plot(Xfit,Yfit);message=sprintf('Theestimatedradiusis%2.3fpixels',radius);text(15,15,message,'Color','y','FontWeight','bold');

 

五、实验总结和分析

图像处理工具箱软件提供了一套全面的参考标准算法和图像处理,分析,可视化和算法开发的图形化工具。

您可以恢复干扰或退化图像,增强图像清晰度提高,提取特征,分析形状和纹理,并注册两个图像。

大多数工具箱函数都写在公开MATLAB®语言,让你可以检查算法,修改源代码,并创建自己的自定义功能的能力。

 

机器视觉与图像处理

专业:

自动化班级:

自动F1202姓名:

王安

学号:

201223910318完成日期:

2015.4.10成绩评定:

4、实验题目

图像变换

二、实验目的

1.了解图像变换的原理。

2.利用matlab软件,编程实现投影数据的图像重构。

3.通过程序的调试,初步了解图像投影变换的应用。

6、实验过程及结果

1.双击MATLAB图标打开MATLAB软件;

2.单击help/Demos打开帮助中的演示;

3.找到ImageProcessing工具箱中的图像特征提取,如图4.1所示:

图4.1图像变换工具箱

P=phantom(256);imshow(P)

*平行梁-计算综合预测

theta1=0:

10:

170;[R1,xp]=radon(P,theta1);num_angles_R1=size(R1,2)

theta2=0:

5:

175;

[R2,xp]=radon(P,theta2);

num_angles_R2=size(R2,2)

theta3=0:

2:

178;[R3,xp]=radon(P,theta3);num_angles_R3=size(R3,2)

N_R1=size(R1,1)N_R2=size(R2,1)N_R3=size(R3,1)

P_128=phantom(128);[R_128,xp_128]=radon(P_128,theta1);N_128=size(R_128,1)

figure,imagesc(theta3,xp,R3)colormap(hot)colorbarxlabel('ParallelRotationAngle-\theta(degrees)');ylabel('ParallelSensorPosition-x\prime(pixels)');

*平行光束-从投影数据重建头部模型:

output_size=max(size(P));dtheta1=theta1

(2)-theta1

(1);I1=iradon(R1,dtheta1,output_size);figure,imshow(I1)

dtheta2=theta2

(2)-theta2

(1);I2=iradon(R2,dtheta2,output_size);figure,imshow(I2)

dtheta3=theta3

(2)-theta3

(1);I3=iradon(R3,dtheta3,output_size);figure,imshow(I3)

扇形波束-计算合成预测

计算合成预测采用扇形波束几何形状和改变“FanSensorSpacing”。

D=250;dsensor1=2;F1=fanbeam(P,D,'FanSensorSpacing',dsensor1);dsensor2=1;F2=fanbeam(P,D,'FanSensorSpacing',dsensor2);dsensor3=0.25;[F3,sensor_pos3,fan_rot_angles3]=fanbeam(P,D,...'FanSensorSpacing',dsensor3);

扇形波束-从投影数据重建头部模型:

.

Ifan1=ifanbeam(F1,D,'FanSensorSpacing',dsensor1,'OutputSize',output_size);figure,imshow(Ifan1)

Ifan2=ifanbeam(F2,D,'FanSensorSpacing',dsensor2,'OutputSize',output_size);figure,imshow(Ifan2)

Ifan3=ifanbeam(F3,D,'FanSensorSpacing',dsensor3,'OutputSize',output_size);figure,imshow(Ifan3)

四、实验总结和分析

通过本次实验展示了如何使用iradon,扇束和ifanbeam形成从样品图像投影,然后从投影重建图像。

而氡和iradon使用平行束几何结构的突起,扇形束和ifanbeam使用一个扇形束的几何形状。

比较平行束和扇形束的几何形状,下面的实施例创建的合成预测每个几何然后使用这些合成的预测,以重构原始图象。

 

 

机器视觉与图像处理

专业:

自动化班级:

自动F1202姓名:

王安

学号:

201223910318完成日期:

2015.4.11成绩评定:

5、实验题目

摄像机标定实验

二、实验目的

1.了解摄像机标定的定义。

2.了解摄相机标定方法的分类。

3.使用Matlab工具箱进行摄像机标定。

7、实验过程及结果

1.双击MATLAB图标打开MATLAB软件;

2.单击help/Demos打开帮助中的演示;

3.找到标定工具箱,如图5.1所示:

图4.1图像标定工具箱

Createtwocellarrayscontainingfilenamesofcalibrationimagestakenwitheachcamera.

numImagePairs=10;

imageFiles1=cell(numImagePairs,1);

imageFiles2=cell(numImagePairs,1);

imageDir=fullfile(matlabroot,'toolbox','vision','visiondata',...

'calibration','stereoWebcams');

fori=1:

numImagePairs

imageFiles1{i}=fullfile(imageDir,'left',sprintf('left%02d.png',i));

imageFiles2{i}=fullfile(imageDir,'right',sprintf('right%02d.png',i));

End

%Trytodetectthecheckerboard

im=imread(imageFiles1{1});

imagePoints=detectCheckerboardPoints(im);

%Displaytheimagewiththeincorrectlydetectedcheckerboard

figure;

imshow(im,'InitialMagnification',50);

holdon;

plot(imagePoints(:

1),imagePoints(:

2),'*-g');

title('FailedCheckerboardDetection');

images1=cast([],'uint8');

images2=cast([],'uint8');

fori=1:

numel(imageFiles1)

im=imread(imageFiles1{i});

im(3:

700,1247:

end,:

)=0;

images1(:

:

:

i)=im;

im=imread(imageFiles2{i});

im(1:

700,1198:

end,:

)=0;

images2(:

:

:

i)=im;

End

[imagePoints,boardSize]=detectCheckerboardPoints(images1,images2);

%Displayonemaskedimagewiththecorrectlydetectedcheckerboard

figure;

imshow(images1(:

:

:

1),'InitialMagnification',50);

holdon;

plot(imagePoints(:

1,1,1),imagePoints(:

2,1,1),'*-g');

title('SuccessfulCheckerboardDetection');

%Generateworldcoordinatesofthecheckerboardpoints.

squareSize=108;%millimeters

worldPoints=generateCheckerboardPoints(boardSize,squareSize);

%Computethestereocameraparameters.

stereoParams=estimateCameraParameters(imagePoints,worldPoints);

%Evaluatecalibrationaccuracy.

figure;

showReprojectionErrors(stereoParams);

 

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

当前位置:首页 > PPT模板 > 国外设计风格

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1