资源简介
输入图片后进行灰度化、边缘检测、道路直线检测
代码片段和文件信息
% 入口图像为 BW,出口图像为f
%optimize from main_optimize merely select 2 lines one has positive
%slopethe other has negative slope
clear allclose all
BW=imread(‘daolu.jpg‘);
figureimshow(BW);
BW=rgb2gray(BW);
thresh=[0.010.17];
thresh=[0.010.10];
sigma=2;%定义高斯参数
f = edge(double(BW)‘canny‘threshsigma);
%f = edge(double(BW)‘sobel‘);
figuresubplot(121);
imshow(f[]);
title(‘canny Edge Detect Result‘);
[H theta rho]= hough(f 0.1);%cos(theta)*x+sin(theta)*y=rho
%imshow(thetarhoH[]‘notruesize‘)axis onaxis normal
%xlabel(‘\theta‘)ylabel(‘rho‘);
[rc]=houghpeaks(H10);
hold on
lines=houghlines(fthetarhorc);
subplot(122);
imshow(f[])title(‘Hough Transform Detect Result‘)hold on
nlind=0;%new line index
st=1;
%%%%%%%%%求斜率%%%%%%%%%%%%
for k=1:length(lines)
%xy=[lines(k).point1;lines(k).point2];
xielv(k)=(lines(k).point2(1)-lines(k).point1(1))/(lines(k).point2(2)-lines(k).point1(2)+0.0001)
end
%%%%%%%%%将相同斜率的直线连起来%%%%%%%%%%%%
k=1;
while(k<=length(lines))
if(k~=length(lines))
k=k+1;
end
while(abs(xielv(k)-xielv(k-1))<0.0001)
k=k+1;
if(k>length(lines))
break;
end
end
if(abs(xielv(k-1))<0.05||abs(xielv(k-1))>=10)%eliminate horizontal and vertical lines防治水平线和楼房
st=k;
if(k~=length(lines))
continue;
end
end
if(st==length(lines)&&k==st)
if(abs(xielv(k))>0.05&&abs(xielv(k))<10)
nlind=nlind+1;
newlines(nlind)=lines(st);
newlines(nlind).point2=lines(k).point2;
newxy=[newlines(nlind).point1;newlines(nlind).point2];
plot(newxy(:2)newxy(:1)‘LineWidth‘4‘Color‘[.6 1.0 .8]);
end
break;
end
%end=k-1start=st; draw line
nlind=nlind+1;
newlines(nlind)=lines(st);
newlines(nlind).point2=lines(k-1).point2;
newxy=[newlines(nlind).point1;newlines(nlind).point2];
plot(newxy(:2)newxy(:1)‘LineWidth‘4‘Color‘[.6 1.0 .8]);
st=k;
end
fprintf(‘%d lines are detected in sum.\n‘nlind);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-07-24 03:28 daolu\
文件 56371 2012-02-25 14:27 daolu\边缘检测.JPG
文件 87932 2012-02-25 06:49 daolu\Snap6.jpg
文件 1126 2012-02-25 08:33 daolu\shibie.m
文件 1032 2012-02-25 08:16 daolu\huiduhua.m
文件 19358 2012-02-26 12:25 daolu\hh.JPG
文件 2326 2012-02-27 12:59 daolu\daolu1.m
- 上一篇:混合智能优化算法
- 下一篇:BP神经网络预测实例
相关资源
- 基于Matlab的最大熵模糊图像复原算法
- KITTI雷达点云与图像数据融合matlab源码
- matlab 解码 NMEA0183格式GGA数据
- 一个有关飞机的模板匹配的跟踪的m
- 基于MATLAB的电弧模型仿真
- PRI信号分选
- Matlab论文:基于Matlab的二进制数字调
- 802.11协议吞吐量随节点数性能仿真
- matlab图片rgb转yuv,存.yuv文件 播放器
- Duda模式分类Pattern Classification MATLAB 代
- dijkstra算法的matlab实现31274
- 随机路径生成函数matlab
- matlab语音信号处理工具箱
- matlab2013激活文件
- matlab实现游程编码
- 暗通道先验+引导滤波MATLAB代码
- 边缘检测中的canny算法及其matlab实现
- 通过达曼光栅生成点阵的matlab程序.
- MATLAB核函数算法
- 求控制系统的性能指标MptrtsFAI,matl
- matlab 求DTFT
- 逆变器重复控制算法MATLAB仿真
- MATLAB R2014b 许可协议文件
- matlab读取comtrade格式的程序
- 基于Matlab的RC一阶电路仿真
- Las点云数据读取代码
- 雷达回波加天线方向图模拟程序
- MATLAB 2017b 安装文件及其破解文件百度
- Matlab实现音频降噪
- matlab实现导航卫星系统中计算多普勒
评论
共有 条评论