实例介绍
【实例简介】
在大噪声下对轨道限界的提取
【实例截图】
【核心代码】
clc
clear
I0=imread('nice1.jpg');
figure
imshow(I0);
title('原图')
I1= rgb2gray(I0); %转灰度图
I1=I1*1.5;
figure
imshow(I1);
title('灰度图')
I2=filter2(fspecial('average',3),I1)/255;
figure
imshow(I2)
title('均值滤波图')
thresh = graythresh(I2);
I3=im2bw(I2,124/255); %对图像二值化
figure();
imshow(I3);
title('二值化图')
I4=medfilt2(I3,[3,3]);
figure
imshow(I4);
title('中值滤波图')
I5=bwareaopen(I4,2250);
figure
imshow(I5)
I6=imdilate(I5,strel('disk',2));
figure
imshow(I6)
BW=edge(I6,'roberts'); %roberts算子进行边缘检测
figure
imshow(BW);
title('边缘图')
[H,T,R] = hough(BW,'RhoResolution',0.4,'ThetaResolution',0.4);
figure
imshow(H,[],'XData',T,'YData',R,'InitialMagnification','fit');
xlabel('\theta'), ylabel('\rho');
title('霍夫空间图')
axis on
axis normal
hold on
P=houghpeaks(H,2,'threshold',ceil(0.3*max(H(:)))); %在图像的霍夫变换中查找峰值
x=T(P(:,2)); y = R(P(:,1));
plot(x,y,'s','color','white');
%Find lines and plot them
lines = houghlines(BW,T,R,P,'FillGap',255,'MinLength',40);
%FillGap是一个正实数,用来表示同一图像中两条线段的距离。当两条线的距离小于这个指定值时,houghlines函数就会将这两条线合并成一条线。
%MinLength是一个正实数,用来确定是否保存线条。如果线条的长度小于这个值,线条将会被擦除,否则就保存。
figure;
imshow(I0);
title('a')
hold on;
max_len = 0;
for k = 1:length(lines)
xy = [lines(k).point1; lines(k).point2];
plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green');
% Plot beginnings and ends of lines
plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow');
plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red');
% Determine the endpoints of the longest line segment
len = norm(lines(k).point1 - lines(k).point2);
if ( len > max_len)
max_len = len;
xy_long = xy;
end
end
% highlight the longest line segment
plot(xy_long(:,1),xy_long(:,2),'LineWidth',2,'Color','blue');
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论