- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
.
.
精品
精品
.
精品
Hough变换提取直线
一、实验目标
实现用Hough变换检测直线的算法
二、实验内容
1、读入图像
选取有较多直线及部分曲线以作对比的图像作为实验素材,这里我们必须使用彩色图像(有些看似灰度图像的实际属性也是彩色图像),原因下面有详解。
2、检测图像边缘
如果一个像素落在图像中某一个物体的边界上,那么它的邻域将成为一个灰度级变化的带。对这种变化最有用的两个特征是灰度的变化率和方向,他们分别用梯度向量的幅度和方向来表示。
边缘检测算子检查每个像素的邻域并对灰度变化率进行量化,通常也包括方向的确定。有若干种算子可以使用,大多数是基于方向导数掩模求卷积的方法。
如Roberts算子,Sobel算子,Prewitt算子,Log算子等。这里采用Log算子提取图像边缘,再用均值滤波去除边缘图像噪声。
3、实现Houg变换,检测出图像中的直线
Hough变换是一种利用图像的全局特征将特定形状的边缘连接起来,形成连续平滑边缘的一种方法。它通过将源图像上的点影射到用于累加的参数空间,实现对已知解析式曲线的识别。
这里先对边缘图像进行二值化处理,然后再用hough变换提取直线,最后用红色标记之。因为处理过程中需使用灰度图像,但最后无法给灰度图像赋颜色(会出错或效果不好),只能给彩色图像赋颜色,故最初输入时请使用彩色图像。
.
.
精品
精品
.
精品
4、Matlab代码如下:
f=imread(3.png);%读入彩色图像,注意不能使用灰度图像
o=f;%保留彩色原图
f=rgb2gray(f);%将彩色图像转换为灰度图像,
f=im2double(f);
figure();
subplot(2,2,1);imshow(o);title(原图);
[m,n]=size(f);%得到图像矩阵行数m,列数n
fori=3:m-2
forj=3:n-2%处理领域较大,所以从图像(3,3)开始,在(m-2,n-2)结束l(i,j)=-f(i-2,j)-f(i-1,j-1)-2*f(i-1,j)-f(i-1,j+1)-f(i,j-2)-2*f(i,j-1)+16*f(i,j)-2*f(i,j+1)-f(i,j+2)-f(i+1,j-1)-2*f(i+1,j)-f(i+1,j+1)-f(i+2,j);%LoG算子
end
end
subplot(2,2,2);imshow(l);title(LoG算子提取图像边缘);
[m,n]=size(l);
.
.
精品
精品
.
精品
fori=2:m-1
forj=2:n-1y(i,j)=l(i-1,j-1)+l(i-1,j)+l(i-1,j+1)+l(i,j-1)+l(i,j)+l(i,j+1)+l(i+1,j-1)+l(i+1,j)+l(i+1,j+1);
y(i,j)=y(i,j)/9;%LoG算子提取边缘后,对结果进行均值滤波以去除噪声,为下一步hough变换提取直线作准备
end
end
subplot(2,2,3);imshow(y);title(均值滤波器处理后)
q=im2uint8(y);
[m,n]=size(q);
fori=1:m
forj=1:n
ifq(i,j)80;%设置二值化的阈值为80
q(i,j)=255;%对图像进行二值化处理,使图像边缘更加突出清晰
else
q(i,j)=0;
end
end
end
subplot(2,2,4);imshow(q);title(二值化处理后);
%Hough变换检测直线,使用(a,p)参数空间,a∈[0,180],p∈[0,2d]
.
.
精品
精品
.
精品
a=180;%角度的值为0到180度
d=round(sqrt(m^2+n^2));%图像对角线长度为p的最大值
s=zeros(a,2*d);%存储每个(a,p)个数
z=cell(a,2*d);%用元胞存储每个被检测的点的坐标
fori=1:m
forj=1:n%遍历图像每个点
if(q(i,j)==255)%只检测图像边缘的白点,其余点不检测
fork=1:a
p=round(i*cos(pi*k/180)+j*sin(pi*k/180));%对每个点从1到180度遍历一遍,取得经过该点的所有直线的p值(取整)
if(p0)%若p大于0,则将点存储在(d,2d)空间
s(k,d+p)=s(k,d+p)
您可能关注的文档
- 2010年一级建造师建筑真题及答案.docx
- 2016计算机二级《C语言》基础练习题及答案(5).docx
- 2016年二级建造师建筑实务考试真题及答案解析.docx
- 2016年二级建造师考试建筑实务真题答案及解析.docx
- 2017二级建造师水利真题及答案(学建提供).docx
- 2017二级建造师网上继续教育课题考试及答案.docx
- 2018年二级建造师《建设工程施工管理》真题答案及解析.docx
- 2018年二级建造师机电实务真题及答案.docx
- 2019--2020 郑州中考一模 英语真题及答案.doc
- 2019安徽中考语文.docx
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江西省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年安徽省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年福建省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年广东省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河南省高考英语试卷(含答案解析)+听力音频.docx
- 2024年湖北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江苏省高考英语试卷(含答案解析)+听力音频+听力原文.docx
文档评论(0)