• PUDN用户
    了解作者
  • matlab
    开发工具
  • 1KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 32
    下载次数
  • 2016-07-27 10:45
    上传日期
本程序可以有效地解决在智能车辆运行过程中对道路中心线的有效识别,通过视频图像分割,二值化,边缘检测,hough变换最后得到。
zhixian_Untitled.zip
  • zhixian_Untitled.m
    2.2KB
内容介绍
RGB = imread('noSmallStructures');%jaynes-thesis I=rgb2gray(RGB); % 图片用的是灰度图像, [x,y]=size(I); BW=edge(I); figure;imshow(I);title('原图') figure;imshow(BW);title('边缘检测图像') rho_max=floor(sqrt(x^2+y^2))+1; %由原图数组坐标算出ρ最大值,并取整数部分加1 %此值作为ρ,θ坐标系ρ最大值 accarray=zeros(rho_max,180); %定义ρ,θ坐标系的数组,初值为0。 %θ的最大值,180度 Theta=[0:pi/180:pi]; %定义θ数组,确定θ取值范围 for n=1:x, for m=1:y if BW(n,m)==1 for k=1:180 %将θ值代入hough变换方程,求ρ值 rho=(m*cos(Theta(k)))+(n*sin(Theta(k))); %将ρ值与ρ最大值的和的一半作为ρ的坐标值(数组坐标),这样做是为了防止ρ值出现负数 rho_int=round(rho/2+rho_max/2); %在ρθ坐标(数组)中标识点,即计数累加 accarray(rho_int,k)=accarray(rho_int,k)+1; end end end end %figure;colormap gray; %imagesc(accarray);title('hough变换后的图') %xlabel('\theta'), ylabel('\rho'); %=====下面程序的显示效果没上面好=====% ?carray=uint8(accarray); %转换后会丢数据 %figure;imshow(accarray);title('hough变换后的图') %xlabel('\theta'), ylabel('\rho'); %axis on, axis normal, hold on; %=======利用hough变换提取直线======% %寻找100个像素以上的直线在hough变换后形成的点 K=1; %存储数组计数器 for rho_n=1:rho_max %在hough变换后的数组中搜索 for theta_m=1:180 if accarray(rho_n,theta_m)>=10 %设定直线的最小值。 case_accarray_n(K)=rho_n; %存储搜索出的数组下标 case_accarray_m(K)=theta_m; K=K+1; end end end %把这些点构成的直线提取出来,输出图像数组为I_out I_out=zeros(x,y); I_jiao_class=zeros(x,y); for n=1:x, for m=1:y if BW(n,m)==1 for k=1:180 rho=(m*cos(Theta(k)))+(n*sin(Theta(k))); rho_int=round(rho/2+rho_max/2); %如果正在计算的点属于100像素以上点,则把它提取出来 for a=1:K-1 if rho_int==case_accarray_n(a)&k==case_accarray_m(a)%%%==gai==%%% k==case_accarray_m(a)&rho_int==case_accarray_n(a) I_out(n,m)=BW(n,m); I_jiao_class(n,m)=k; end end end end end end figure;imshow(I_out);title('利用经典hough变换提取的图像'); %========hough变换=========% %=====matlab自带函数========% % 入口图像为 BW,出口图像为H % [H,T,R] = hough(BW,'RhoResolution',0.5,'ThetaResolution',0.5); % figure;imshow(H,'XData',T,'YData',R,'InitialMagnification','fit');title('hough变换矩阵') % xlabel('\theta'), ylabel('\rho'); % axis on, axis normal, hold on
评论
    相关推荐
    • robotic_perception:使用霍夫线进行车道和车辆路线检测概率霍夫线,RANSAC,使用HOG + SVM进行交通标
      机器人感知 该存储库展示了马里兰大学ENPM673课程中完成的项目。 本课程专门设计用于提供对机器人感知的见解,包括从最基本的主题(例如各种...这是使用非常基本的概念(例如图像变换和单应性)来生成非常强大的结果
    • matlabcnhelp.rar
      matlab中文帮助很难找的,快速下载
    • MobilePolice.rar
      移动警察,车牌识别,车牌定位系统源代码,已经运用在移动车载稽查系统中。
    • SVM(matlab).rar
      支持向量机(SVM)实现的分类算法源码[matlab]
    • svm.zip
      用MATLAB编写的svm源程序,可以实现支持向量机,用于特征分类或提取
    • Classification-MatLab-Toolbox.rar
      模式识别matlab工具箱,包括SVM,ICA,PCA,NN等等模式识别算法,很有参考价值
    • VC++人脸定位实例.rar
      一个经典的人脸识别算法实例,提供人脸五官定位具体算法及两种实现流程.
    • QPSK_Simulink.rar
      QPSK的Matlab/Simulink的调制解调仿真系统,给出接收信号眼图及系统仿真误码率,包含载波恢复,匹配滤波,定时恢复等重要模块,帮助理解QPSK的系统
    • LPRBPDemo2009KV.rar
      车牌识别,神经网络算法,识别率高达95%,识别时间低于80ms。
    • MODULATION.RAR
      这个源程序代码包提供了通信系统中BPSK,QPSK,OQPSK,MSK,MSK2,GMSK,QAM,QAM16等调制解调方式 用matlab的实现,以及它们在AWGN和Rayleigh信道下的通信系统实现及误码率性能