激光光斑中心位置及大小确定Matlabdocx.docx
- 文档编号:9676629
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:30
- 大小:22.81KB
激光光斑中心位置及大小确定Matlabdocx.docx
《激光光斑中心位置及大小确定Matlabdocx.docx》由会员分享,可在线阅读,更多相关《激光光斑中心位置及大小确定Matlabdocx.docx(30页珍藏版)》请在冰豆网上搜索。
激光光斑中心位置及大小确定Matlabdocx
燕山大学
课程设计说明书
题目:
20目标位置及大小的确定
学院(系):
电气工程学院
年级专业:
11级仪表1班
学号:
110103020029
学生姓名:
张钊
指导教师:
赵彦涛吴飞
教师职称:
副教授副教授
燕山大学课程设计(论文)任务书
院(系):
电气工程学院
基层教学单位:
自动化仪表系
学号
110103020029
学生姓名
张钊
专业(班级)
11级仪表1班
设计题目
20目标位置及大小的确定
设
几句图像处理的知识,确定图像中两点的中心点的位置,并能确定其大
计
小(即半径),尽量使用较多的方法实现,并且比较每种方法的处理速度。
技
术
参
数
实际确定图像中两点的中心点的位置,并且确定该两点的半径。
实际中
设应具有自己的实际思想、设计体会。
计
要
求
了解Matlab的基本操作,查找与课程设计相关的资料,编写程序并调试,写论文,准备课程设计答辩。
工
作
量
12
月23日,熟悉Matlab的基本操作
12
月24
日,查找与课程设计课题相关的资料
工
月25
日,设计程序并调试
12
作
月26
日,调试程序并写论文
12
计
月27
日,整理论文,课程设计答辩
12
划
参
1、数字图像处理学
电子公告也出版社
贾永红2003
考2、数字图像处理(Matlab版)电子工业出版社冈萨雷斯2006
资
3、其他数字图像处理和matlab变成发面的书记及相关学习资料
料
指导教师签字赵彦涛吴飞基层教学单位主任签字
说明:
此表一式四份,学生、指导教师、基层教学单位、系部各一份。
2013年12月27日
燕山大学课程设计说明书
摘要
首先对图像进行二值化,然后对二值图像进行去除噪声操作,通过找出与所求区域
具有相同标准二阶中心矩的椭圆的长轴长度,短轴长度,离心率等,并找出包含所求区
域的最小凸多边形,的顶点坐标。
通过一定的方法,用所求椭圆的相关参数确定一个正
多边形。
使该正多边形具有一个相当大的边数,是该多边形接近一个圆。
这个圆就是所
要拟合的圆。
最后通过三个点求圆的中心和半径。
运用多种方法实现改程序,并计算各
种方法所需时间。
关键字二值化处理去噪声处理圆的拟合已知三点求圆的中心和半径计算
时间
共30页第3页
燕山大学课程设计说明书
第一章彩色像的二化
1.像的二化原理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯5
2.像的二化的程序⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯...5
3.二化前后效果比⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6
第二章去除噪声
1
去除噪声的原理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
7
2
去除噪声的程序⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
7
3
去除噪声前后的像比⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
9
第三章合
1
合原理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
9
2
合的程序⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
10
3
合效果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
12
第四章
求心及半径⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..
14
第五章
Matlab中算程序运行的⋯⋯⋯⋯⋯⋯
14
第六章
Matlab程序⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
15
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.
29
参考文献料⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.
29
共30页第4页
燕山大学课程设计说明书
第一章彩色图像的二值化
第一节图像的二值化原理
图像的二值化处理就是将图像上的点的灰度置为0或255,也就是讲整个图像呈现出明
显的黑白效果。
即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反
映图像整体和局部特征的二值化图像。
在数字图像处理中,二值图像占有非常重要的地
位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行
二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,这样子有利于再
对图像做进一步处理时,图像的集合性质只与像素值为0或255的点的位置有关,不再
涉及像素的多级值,使处理变得简单,而且数据的处理和压缩量小。
所有灰度大于或等
于阀值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在
物体区域以外,灰度值为0,表示背景或者例外的物体区域。
第二节图像的二值化的程序实现
方法一:
首先将图像转变为灰度图像,再利用max,min等函数求阈值分割点,最后转
化为二值化图像
相关程序:
J=imread('软件\20亮点图像\4.JPG');%读图像
figure;imshow(J);%显示原始图像
P=rgb2gray(J);%转换为灰度图像
[m,n]=size(P);%获取图像的行数和列数
ma=max(max(P));%求最大值
mi=min(min(P));%求最小值
limen=(ma+mi)/2;%求分割阈值
I=(P>limen);%二值化
figure;imshow(I);%显示二值化图像
方法二:
首先将图像转变为灰度图像,再利用graythresh等函数求阈值分割点,最后用
共30页第5页
燕山大学课程设计说明书
函数im2bw进行二值化。
I=imread('软件\20亮点图像\4.JPG');%读图像
P=rgb2gray(I);%转换为灰度图像
level=graythresh(P);%求分割阈值
I=im2bw(P,level);%二值化
imshow(I);%显示二值化图像
第三节二值化前后效果对比
共30页第6页
燕山大学课程设计说明书
第二章去除噪声
第一节去除噪声的原理
噪声在理论上可以定义为“不可预测,只能用概率统计方法来认识的随机误差”。
实
际获得的图像一般都因受到某种干扰而含有噪声。
引起噪声的原因有敏感元器件的内部
噪声、相片底片上感光材料的颗粒、传输通道的干扰及量化噪声等。
噪声产生的原因决
定了噪声的分布特性及它和图像信号的关系。
第二节去除噪声的程序实现
方法1
L=bwlabel(I);%功能:
标注二进制图像中已连接的部分。
stats=regionprops(L,{'Area','ConvexHull','MajorAxisLength',...
'MinorAxisLength','Eccentricity','Centroid'});%用来度量图像区域属性的函数。
测量
共30页第7页
燕山大学课程设计说明书
标注矩阵L中每一个标注区域的一系列属性。
L中不同的正整数元素对应不同的区域。
%
A=[];%定义数组A%
fori=1:
length(stats)
A=[Astats(i).Area];%'Area'是标量,计算出在图像各个区域中像素总个数。
%
End
[mA,ind]=max(A);
I1=I;
I1(find(L~=ind))=0;
Figure;
imshow(I1);
方法二,中值滤波
clear
clc
I=imread('C:
\Users\DELL\Desktop\1.bmp');
I=im2double(I);
I=medfilt2(I);
imshow(I,[]);
title('');
共30页第8页
燕山大学课程设计说明书
第三节去除噪声前后的图像对比
第三章圆拟合
第一节圆拟合原理
首先通过regionprops函数找出与所求区域具有相同标准二阶中心矩的椭圆的长轴长度,
短轴长度,离心率等,并找出包含所求区域的最小凸多边形,的顶点坐标。
通过一定的
方法,用所求椭圆的相关参数确定一个正多边形。
使该正多边形具有一个相当大的边数,
是该多边形接近一个圆。
这个圆就是所要拟合的圆。
在指令t=linspace(0,2*pi,N)中,
N-1表示所求正多边形的边数,N越大,所拟合的圆越精确。
共30页第9页
燕山大学课程设计说明书
第二节圆拟合的程序实现
stats=regionprops(L,{'Area','ConvexHull','MajorAxisLength',...
'MinorAxisLength','Eccentricity','Centroid'});%用来度量图像区域属性的函数。
测量
标注矩阵L中每一个标注区域的一系列属性。
L中不同的正整数元素对应不同的区域。
%
A=[];%定义数组A%
fori=1:
length(stats)
A=[Astats(i).Area];%'Area'是标量,计算出在图像各个区域中像素总个数。
%
End
[mA,ind]=max(A);
I1=I;
I1(find(L~=ind))=0;
figure;
imshow(I1)
holdon;
temp=stats(ind).ConvexHull;%'ConvexHull'是p行2列的矩阵,包含某区域的最小
凸多边形。
此矩阵的每一行存储此多边形一个顶点的xy坐标。
%
t=linspace(0,2*pi);%用法:
linspace(x1,x2,N)
功能:
linspace是Matlab中的一个指令,用于产生x1,x2之间的N点行矢量。
其中x1、
x2、N分别为起始值、终止值、元素个数。
若缺省N,默认点数为100。
应用举例
例一:
在matlab的命令窗口输入:
X=linspace(1,100)
将产生从1到100步长为1的数组。
类似于在命令窗口中输入:
X=[1:
1:
100]
例二:
共30页第10页
燕山大学课程设计说明书
在命令窗口中输入:
X=linspace(5,100,20)
将输出:
X=
5101520253035404550556065707580859095100
这和X=[5:
5:
100]的效果是一样的。
%
c1=stats(ind).Centroid;%'Centroid'是1行ndims(L)列的向量,给出每个区域
的质心(重心)。
注意:
Centroid的第一个元素是重心水平坐标(x坐标)、第二个元素
是重心垂直坐标(y坐标)。
Centroid所有其它元素则按照维顺序排列。
a1=stats(ind).MajorAxisLength;%'MajorAxisLength'是标量,椭圆的长轴长
度(像素意义下)。
标准二阶中心矩就是标准方差%
b1=stats(ind).MinorAxisLength;%'MinorAxisLength'是标量,的椭圆的短轴长度
(像素意义下)%
d1=stats(ind).Eccentricity;%'Eccentricity'是标量,椭圆的离心率(可作为特
征)%
x1=c1
(1)+d1*b1*cos(t);
y1=c1
(2)+d1*a1*sin(t);
m=plot(x1,y1,'b-');%拟合出一个蓝色的圆
共30页第11页
燕山大学课程设计说明书
第三节拟合效果
t=linspace(0,2*pi,N)中,N=5时的效果
共30页第12页
燕山大学课程设计说明书
t=linspace(0,2*pi,N)中,N=700时的效果
第四章求圆心及半径
通过在所拟合的圆上任取三个点,通过这三个点确定远的圆心和半径。
x2=x1(1,1);
y2=y1(1,1);
x3=x1(1,100);
y3=y1(1,100);
x4=x1(1,300);
y4=y1(1,300);
a=2*(x3-x2);
b=2*(y3-y2);
n=(x3*x3+y3*y3-x2*x2-y2*y2);
d=2*(x4-x3);
e=2*(y4-y3);
共30页第13页
燕山大学课程设计说明书
f=(x4*x4+y4*y4-x3*x3-y3*y3);
x0=(b*f-e*n)/(b*d-e*a+eps)%求圆心坐标
y0=(d*n-a*f)/(b*d-e*a+eps)
r0=sqrt((x0-x2)*(x0-x2)+(y0-y2)*(y0-y2))%求半径
第五章Matlab中计算程序运行时间
一,tic和toc组合
计算tic和toc之间那段程序之间的运行时间,它的经典格式为
1.tic
2.。
。
。
。
。
。
。
。
。
。
3.toc复制代码换句话说程序,
程序遇到tic时Matlab自动开始计时,运行到toc时自动计算此时与最近一次ti之间的时间。
二,etime(t1,t2)并和clock配合
来计算t1t2之间的时间差,它是通过调用windows系统的时钟进行时间差计算得到运行时间的,应用的形式
1.t1=clock;
2.。
。
。
。
。
。
。
。
。
。
。
3.t2=clock;
4.etime(t2,t1)
第六章Matlab程序
程序一:
t1=clock;
软件\20亮点图像\4.JPG');
共30页第14页
燕山大学课程设计说明书
P=rgb2gray(I);%转换为灰度图像
level=graythresh(P);%求分割阈值
I=im2bw(I);
figure;
imshow(I);
L=bwlabel(I);
stats=regionprops(L,{'Area','ConvexHull','MajorAxisLength',...
'MinorAxisLength','Eccentricity','Centroid'});
A=[];
fori=1:
length(stats)
A=[Astats(i).Area];
end
[mA,ind]=max(A);
I1=I;
I1(find(L~=ind))=0;
figure;
imshow(I1);
holdon;1
temp=stats(ind).ConvexHull;
t=linspace(0,2*pi,500);
c1=stats(ind).Centroid;
a1=stats(ind).MajorAxisLength;
b1=stats(ind).MinorAxisLength;
d1=stats(ind).Eccentricity;
x1=c1
(1)+d1*b1*cos(t);
y1=c1
(2)+d1*a1*sin(t);
共30页第15页
燕山大学课程设计说明书
m=plot(x1,y1,'g-');
x2=x1(1,1);
y2=y1(1,1);
x3=x1(1,30);
y3=y1(1,30);
x4=x1(1,80);
y4=y1(1,80);
a=2*(x3-x2);
b=2*(y3-y2);
n=(x3*x3+y3*y3-x2*x2-y2*y2);
d=2*(x4-x3);
e=2*(y4-y3);
f=(x4*x4+y4*y4-x3*x3-y3*y3);
x0=(b*f-e*n)/(b*d-e*a+eps)%求圆心
y0=(d*n-a*f)/(b*d-e*a+eps)
r0=sqrt((x0-x2)*(x0-x2)+(y0-y2)*(y0-y2))%求半径
t2=clock;
etime(t2,t1)
运行结果及图像:
共30页第16页
燕山大学课程设计说明书
共30页第17页
燕山大学课程设计说明书
共30页第18页
燕山大学课程设计说明书
程序二:
应用利用max,min等函数求阈值分割点,最后转化为二值化图像,去噪后利
用中值滤波处理
clearall;clc;
t1=clock;
软件\20亮点图像\4.JPG');
figure;imshow(I);%显示原始图像
P=rgb2gray(I);%转换为灰度图像
[m,n]=size(P);%获取图像的行数和列数
共30页第19页
燕山大学课程设计说明书
ma=max(max(P));%求最大值
mi=min(min(P));%求最小值
limen=(ma+mi)/2;%求分割阈值
I=(P>limen);%二值化
figure;imshow(I);%显示二值化图像
L=bwlabel(I);
stats=regionprops(L,{'Area','ConvexHull','MajorAxisLength',...
'MinorAxisLength','Eccentricity','Centroid'});
A=[];
fori=1:
length(stats)
A=[Astats(i).Area];
end
[mA,ind]=max(A);
I1=I;
I1(find(L~=ind))=0;
figure;
imshow(I1);
I=im2double(I);
K2=medfilt2(I1);
figure;
imshow(K2);
holdon;
t=linspace(0,2*pi,700);
c1=stats(ind).Centroid;
a1=stats(ind).MajorAxisLength;
b1=stats(ind).MinorAxisLength;
共30页第20页
燕山大学课程设计说明书
d1=stats(ind).Eccentricity;
x1=c1
(1)+d1*b1*cos(t);
y1=c1
(2)+d1*a1*sin(t);m=plot(x1,y1,'g-');
x2=x1(1,1);
y2=y1(1,1);
x3=x1(1,30);
y3=y1(1,30);
x4=x1(1,80);
y4=y1(1,80);
a=2*(x3-x2);
b=2*(y3-y2);
n=(x3*x3+y3*y3-x2*x2-y2*y2);
d=2*(x4-x3);
e=2*(y4-y3);
f=(x4*x4+y4*y4-x3*x3-y3*y3);
x0=(b*f-e*n)/(b*d-e*a+eps)%求圆心
y0=(d*n-a*f)/(b*d-e*a+eps)
r0=sqrt((x0-x2)*(x0-x2)+(y0-y2)*(y0-y2))%求半径
t2=clock;
etime(t2,t1)
运行结果及图像:
共30页第21页
燕山大学课程设计说明书
共30页第22页
燕山大学课程设计说明书
共30页第23页
燕山大学课程设计说明书
程序三:
先转化灰度图像,利用graythresh等函数惊醒阈值分割
clearall;clc;
t1=clock;
软件\20亮点图像\4.JPG');
P=rgb2gray(I);%转换为灰度图像
level=graythresh(P);%求分割阈值
I=im2bw(I);
figure;
imshow(I);
I=im2double(I);
K2=medfilt2(I1);
imshow(K2);
L=bwlabel(I);
stats=regionprops(L,{'Area','ConvexHull','MajorAxisLength',...
'MinorAxisLength','Eccentricity','Centroid'});A=[];
fori=1:
length(stats)
A=[Astats(i).Area];
end
[mA,ind]=max(A);
I1=I;
I1(find(L~=ind))=0;
figure;
imshow(I1);
I=im2double(I);
subplot(2,1,1);imshow(I);
共30页第24页
燕山大学课程设计说明书
title('原始图像');
K2=medfilt2(I1);
subplot(2,1,2);imsh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 激光 光斑 中心 位置 大小 确定 Matlabdocx