收藏 分享(赏)

基于MATLAB的图像边缘提取并计算其角度和距离.pdf

上传人:HR专家 文档编号:5026512 上传时间:2019-01-31 格式:PDF 页数:4 大小:519.32KB
下载 相关 举报
基于MATLAB的图像边缘提取并计算其角度和距离.pdf_第1页
第1页 / 共4页
基于MATLAB的图像边缘提取并计算其角度和距离.pdf_第2页
第2页 / 共4页
基于MATLAB的图像边缘提取并计算其角度和距离.pdf_第3页
第3页 / 共4页
基于MATLAB的图像边缘提取并计算其角度和距离.pdf_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 MATLAB目的 : 检测下列图像的白色区域和红色区域的边缘,并计算其角度和距离。 1) 利用烟草包装纸、基准线以及传送带三者之间的特性,首先将高速相机拍摄到的图片进行红色通道分离。 2) 将通道分离后的图片进行二值化,得到二值图像 3) 将所得到的二值图像进行边缘检测 4) 将 边缘检测后的 图像先腐蚀运算,再进行膨胀运算,得到最终 图像 5) 将图 8最终得到的两条边界线使用 MATLAB进行最小二乘法拟合,分别得到两条边界线的关系式,并使用数学方法计算出两条边界线的角度以及图像最左端的直线距离。 此例中,计算得到的两边沿的偏离角大小为 3.15,两边沿最左端距离大小为 303.51像素

2、。 clear clc image=imread(Image.jpg); %读取图片 imtool(image); %显示所读取的图片 imager = image(:,:,1); %提取图片红色通道 imtool(imager); BW = im2bw(imager,0.15); %二值化 BW = BW; imtool(BW); BW1 = edge(BW,canny,0.95); %检测边缘 imtool(BW1); se1 = strel(line,9,176); %腐蚀 IM1 = imerode(BW1,se1); imtool(IM1); se2 = strel(line,60,

3、176); %膨胀 IM2 = imdilate(IM1,se2); imtool(IM2); a,b=size(IM2); h,w=find(IM2=1); %筛选边界点,像素值为 1 yx=h,w; yx_size = size(yx); %像素点坐标对数 %数据筛选出上下边界线以供拟合 p=1;q=1; for k=1:yx_size(1,1) if(yx(k,1)=600) yx1(p,:) = yx(k,:); p = p+1; else yx2(q,:) = yx(k,:); q = q+1; end end yx1_c1 = yx1(:,1); yx1_c2 = yx1(:,2)

4、; yx2_c1 = yx2(:,1); yx2_c2 = yx2(:,2); %绘制分离边界的像素点 plot(w,h,r.) axis(0 b 0 a); hold on %绘制拟合的直线 xy1=polyfit(yx1_c2,yx1_c1,1); plot(1:b,polyval(xy1,1:b),b-) axis(0 b 0 a); hold on xy2=polyfit(yx2_c2,yx2_c1,1); plot(1:b,polyval(xy2,1:b),y-) axis(0 b 0 a); hold on %计算两直线的夹角 angle_xy = 180*atan( abs(xy2(1,1)-xy1(1,1)/(1+xy1(1,1)*xy2(1,1) )/pi %角度 %计算最左端的距离,以像素点为单位 dist_xy = polyval(xy1,0)-polyval(xy2,0)

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

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报