• 回答数

    3

  • 浏览数

    179

北京陆少
首页 > 期刊论文 > 有关霍夫变换车道线检测论文

3个回答 默认排序
  • 默认排序
  • 按时间排序

WongQueenie

已采纳

霍夫变换 是一种特征检测(feature extraction),被广泛应用在 图像分析 (image analysis)、计算机视觉(computer vision)以及数位影像处理(digital image processing)。霍夫变换是用来辨别找出物件中的特征,例如:线条。他的 算法 流程大致如下,给定一个物件、要辨别的形状的种类,算法会在参数空间(parameter space)中执行投票来决定物体的形状,而这是由累加空间(accumulator space)里的局部最大值(local maximum)来决定。 现在广泛使用的霍夫变换是由RichardDuda和PeterHart在公元1972年发明,并称之为广义霍夫变换(generalizedHoughtransform),广义霍夫变换和更早前1962年的PaulHough的专利有关。经典的霍夫变换是侦测图片中的 直线 ,之后,霍夫变换不仅能识别直线,也能够识别任何形状,常见的有圆形、椭圆形。1981年,因为DanaH.Ballard的一篇期刊论文"Generalizing the Hough transform to detect arbitrary shapes",让霍夫变换开始流行于计算机视觉界。

●源图像

●处理后图像

●函数原型 ○c++

○Android

●参数解释 ○image:输入图像:8-bit,灰度图 ○lines:存储线段极坐标的容器,每一条线由具有四个元素的矢量(x_1,y_1, x_2, y_2) 表示,其中,(x_1, y_1)和(x_2, y_2) 是每个检测到的线段的结束点。 ○rho:生成极坐标的像素扫描步长。 ○theta:生成极坐标的角度步长,一般是π/180。 ○threshold:要”检测” 一条直线所需最少的的曲线交点 。 ○minLineLength :默认值0,表示最低线段的长度,比这个设定参数短的线段就不能被显现出来。 ○maxLineGap :默认值0,允许将同一行点与点之间连接起来的最大的距离。

●c++中

●Android中

137 评论

nono521521

霍夫变换在图像处理里常用来在黑白图像里检测直线,matlab里有相应的几个函数,使用方便,这里把matlab帮助里介绍的例子演示一下。 matlab里霍夫变换主要包含一下三个函数:hough:实现霍夫变换,得到霍夫变换矩阵,用法如下[H, theta, rho] = hough(BW)[H, theta, rho] = hough(BW, ParameterName,ParameterValue)houghpeaks:在霍夫变换矩阵里找极值点peaks = houghpeaks(H, numpeaks)peaks = houghpeaks(..., param1, val1,param2, val2)houghlines:从霍夫变换矩阵中提取线段lines = houghlines(BW, theta, rho,peaks)lines = houghlines(..., param1, val1,param2, val2) 下面以一个例子来看看霍夫变换的效果,代码如下: % 测试霍夫变换clcclearclose all % 读取图像I = imread('circuit.tif');rotI = imrotate(I,80,'crop'); % 旋转33度,保持原图片大小fig1 = imshow(rotI); % 提取边BW = edge(rotI,'canny');figure, imshow(BW); % 霍夫变换[H,theta,rho] = hough(BW); % 计算二值图像的标准霍夫变换,H为霍夫变换矩阵,theta,rho为计算霍夫变换的角度和半径值figure, imshow(imadjust(mat2gray(H)),[],'XData',theta,'YData',rho,... 'InitialMagnification','fit');xlabel('\theta (degrees)'), ylabel('\rho');axis on, axis normal, hold on;colormap(hot) % 显示霍夫变换矩阵中的极值点P = houghpeaks(H,50,'threshold',ceil(0.3*max(H(:)))); % 从霍夫变换矩阵H中提取5个极值点x = theta(P(:,2));y = rho(P(:,1));plot(x,y,'s','color','black'); % 找原图中的线lines = houghlines(BW,theta,rho,P,'FillGap',18,'MinLength',180);figure, imshow(rotI), hold onmax_len = 0;for k = 1:length(lines) % 绘制各条线 xy = [lines(k).point1; lines(k).point2]; plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green'); % 绘制线的起点(黄色)、终点(红色) plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow'); plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red'); % 计算线的长度,找最长线段 len = norm(lines(k).point1 - lines(k).point2); if ( len > max_len) max_len = len; xy_long = xy; endend % 以红色线高亮显示最长的线plot(xy_long(:,1),xy_long(:,2),'LineWidth',2,'Color','red'); 其中,同一条线段由于某些原因(比如光照、噪音等)变成了不连续的两条较短的线段,所以要进项合并,至于多少长度的才合并成同一条直线,是依据不同的图像而言的,由fillgap参数决定。而有些线段可能是噪声,所以小于7的舍去,这个也么有标准,需要根据不同的图像而定。

313 评论

喊我11就很好

1、基于霍夫变换的车道线检测2、基于仿射变换的车道线检测3、基于边缘拟合的车道线检测

133 评论

相关问答

  • 轨道车辆检测技术论文

    城市轨道交通具有安全、准时、快捷、舒适、环保等优点,已成为解决城市交通问题的根本途径。这是我为大家整理的城市轨道交通工程技术论文,仅供参考! 浅谈城市轨道交通工

    核桃丫头 2人参与回答 2023-12-08
  • 车道线检测最新论文

    之前也是为论文苦恼了半天,网上的范文和能搜到的资料,大都不全面,一般能有个正文就不错了,而且抄袭的东西肯定不行的,关键是没有数据和分析部分,我好不容易搞出来一篇

    姗姗爱C 1人参与回答 2023-12-07
  • 有关霍夫变换车道线检测论文

    霍夫变换 是一种特征检测(feature extraction),被广泛应用在 图像分析 (image analysis)、计算机视觉(computer vis

    北京陆少 3人参与回答 2023-12-09
  • 霍夫曼编码论文开题报告

    问题: 哈夫曼编码,英文名称 Huffman Coding,有时也翻译为霍夫曼编码,在1952年提出的,是最好的编码方式。哈夫曼编码在电子通讯方面有着重要的应用

    panda熊猫陈 3人参与回答 2023-12-11
  • 小波变换边缘检测论文

    ​ 论文简介: 利用图像传输理论测量海水的点扩散函数和调制传递函数并且使用维纳滤波器复原模糊的图像。退化方程H(u,v)在水槽中测量得到。在实验中利用狭缝

    中基惠通 4人参与回答 2023-12-09