CN103729850B - 一种在全景图中提取直线的方法 - Google Patents
一种在全景图中提取直线的方法 Download PDFInfo
- Publication number
- CN103729850B CN103729850B CN201310751202.5A CN201310751202A CN103729850B CN 103729850 B CN103729850 B CN 103729850B CN 201310751202 A CN201310751202 A CN 201310751202A CN 103729850 B CN103729850 B CN 103729850B
- Authority
- CN
- China
- Prior art keywords
- pixel
- coordinate
- straight line
- edge
- input picture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Image Analysis (AREA)
Abstract
一种在全景图中提取直线的方法,其步骤为:(1)、计算原始输入图像的梯度图像;(2)、计算原始输入图像的边缘图像;(3)、识别出直线目标;结合二维坐标、球面坐标、笛卡尔坐标的转换公式,并利用边缘像素的特征,采用有效的边缘提取算法群集所有能构成直线的边缘像素,从而识别出直线目标。本发明具有原理简单、易实现、精确度高、可靠性好等优点。
Description
技术领域
本发明主要涉及到图像处理技术领域,特指一种在全景图中提取直线的方法。
背景技术
一般来说,直线投影在全景图中会产生畸变现象。通常的直线提取算法,如霍夫变换(Hough transform)只适用于普通的平面图像,无法识别出全景图中发生畸变的直线。而一些基于霍夫变换的直线提取算法(Hough transform-based methods)只能从水平或垂直方向提取全景图中的直线,除此以外,此类算法还存在不能确定直线端点、会检测出虚假直线等缺陷。
直线是图像中的重要特征,也是机场、街道、建筑物等许多与生产生活相关的重要场景的组成部分。全景图中的直线提取方法可广泛用于场景的可视化和三维建模,如大范围街景图、故宫全景图等,通过该技术,可以对场景进行三维重构,恢复图像中的重要信息,为生产生活或科学研究提供宝贵资料。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、易实现、精确度高、可靠性好的在全景图中提取直线的方法。
为解决上述技术问题,本发明采用以下技术方案:
一种在全景图中提取直线的方法,其步骤为:
(1)、计算原始输入图像的梯度图像;
(2)、计算原始输入图像的边缘图像;
(3)、识别出直线目标;结合二维坐标、球面坐标、笛卡尔坐标的转换公式,并利用边缘像素的特征,采用有效的边缘提取算法群集所有能构成直线的边缘像素,从而识别出直线目标。
作为本发明的进一步改进:在步骤(1)中,利用Sobel算子获得原始输入图像的梯度图像;所述Sobel算子包含两组3*3的矩阵Gx和Gy,将这两个算子分别在横向x方向和纵向y方向与原始输入图像进行卷积运算,即可获得x方向与y方向的亮度差分近似值。
作为本发明的进一步改进:在步骤(2)中,采用canny边缘提取算法计算原始输入图像的二值边缘图像。
作为本发明的进一步改进:所述步骤(3)的详细步骤为:
(3.1)、直线边缘像素的确定;首先确定直线边缘的起始像素:当某像素的幅值大于某给定的全局阈值τ,且该像素在边缘图像上的值为1,则选定此像素为起始像素;确定直线的第二个像素:在确认了起始像素的位置之后,在以起始像素为中心的3乘3的像素矩阵中寻找第二个像素点,邻域中具有最大幅值的像素点为目标像素;用同样的方式,以此类推,寻找接下来的所有可能的直线边缘像素点;
(3.2)坐标的变换:对于步骤(3.1)中找到的所有可能的直线边缘像素点,进行坐标的变换;假设有一个单位球面恰好能被原始输入图像完全覆盖,则对于在上一步中找到的每一个可能的像素点P进行二维平面坐标(u,v)与球面坐标的坐标变换,公式如下:
其中,w、h分别表示原始输入图像宽和高,ρ表示单位球的球心(origin)到点P的欧几里得距离(Euclidean distance)记为1.0,θ是从球心到点P的连线与正z-轴的夹角,是从球心到点P的连线在xy-平面的投影线与正z-轴的夹角;
(3.3)平面拟合:
运用笛卡尔坐标和标准的平面方程进行计算,设像素点的笛卡尔坐标为(x,y,z),球面坐标与笛卡尔坐标之间的转换公式如下:
标准平面方程为:
Ax+By+Cz+D=0
其中,D=0,将x,y,z代入平面方程中,通过求解线性方程组,解出系数A,B和C;
(3.4)确定直线的终点像素:计算像素点到所拟合平面的距离,当求出的距离大于某给定的距离阈值d′,则说明直线终止;设某像素点坐标为(xi,yi,zi)到平面的距离d的计算公式如下:
作为本发明的进一步改进:所述步骤(1)中,进一步采用高斯去噪方法去除原始输入图像中多余的噪音。
与现有技术相比,本发明的优点在于:
1、本发明在直线像素点的计算中,canny边缘图像与梯度图像的联合使用,使像素点能被准确定位。
2、本发明采用3*3矩阵像素搜索方法,通过计算最大邻域中最大幅值确定下一个直线像素,大大提高了算法处理速度和准确性。
3、本发明的方法能准确计算出直线的端点,且确保直线特征的连通性,不会产生虚假边缘。
附图说明
图1是本发明方法的流程示意图。
图2是本发明在具体应用实例中的原始输入图像示意图。
图3是本发明在具体应用实例中得到的梯度图像示意图。
图4是本发明在具体应用实例中得到的边缘图像示意图。
图5是本发明在具体应用实例中进行起始像素确定的示意图。
图6是本发明在具体应用实例中进行第二个像素确定的示意图。
图7是本发明在具体应用实例中进行第三个像素确定的示意图。
图8是本发明在具体应用实例中得到所有可能的直线像素的示意图。
图9是本发明在具体应用实例中进行二维坐标、球面坐标与笛卡尔坐标转换的示意图。
图10是本发明在具体应用实例中大圆的在360°全景图上的投影为直线的示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
如图1所示,本发明的一种在全景图中提取直线的方法,其步骤为:
(1)、计算原始输入图像的梯度图像(Gradient image);
(2)、使用canny边缘提取算法计算原始输入图像的二值边缘图像(Edge image),该图像中所表述图像边缘特征较梯度图像更为清晰。
(3)、识别出直线目标;结合二维坐标->球面坐标(Spherical coordinate)->笛卡尔坐标(Catersian coordinate)的转换公式,并利用边缘像素的特征,采用有效的边缘提取算法群集(Cluster)所有能构成直线的边缘像素,从而识别出直线目标。
在步骤(1)中,还可以进一步采用高斯去噪方法去除原始输入图像中多余的噪音。
图2为原始输入图像实例,即停车场360°全景图。
在步骤(1)中,使用Sobel算子获得原始输入图像的梯度图像(见图3)。其中,Sobel算子是离散性的差分算子,一般用来计算图像梯度的近似值,在图像的任何一点使用此算子,将会获得该点的梯度矢量。Sobel算子包含两组3*3的矩阵Gx和Gy,将这两个算子分别在横向(x方向)和纵向(y方向)与原始输入图像进行卷积运算,即可获得x方向与y方向的亮度差分近似值。假设u表示原始图像,具体计算方法如下:
通过上述计算公式,得到的结果见图3。
在步骤(2)中,使用canny边缘提取算法计算原始输入图像的边缘图像(见图4)。Canny边缘检测算子是John F.Canny在1986年开发的一个多级边缘检测算法,也是目前图像处理领域中使用最广泛、效果最优化的边缘提取算法之一。在本算法中使用canny算子的主要目的在于对原始图像进行平滑、去噪,同时准确定位图像的边缘,提高了后续目标识别的效率。除此之外,canny算子还能有效地去除图像中可能导致噪音的弱边缘(weak edge)。通过运用Canny算子获得的边缘图像如图4所示。
在步骤(3)中,识别直线的详细步骤为:
(3.1)、直线边缘像素的确定。边缘是组成两个图像区域之间边界的像素(edgels),数学上,边缘一般被定义为图像中梯度(向量)变化最大的地方,即拥有大的梯度的点组成的集合。本发明首先确定直线边缘的起始像素:当某像素的幅值(magnitude)大于某给定的全局阈值τ,且该像素在边缘图像上的值为1,则选定此像素为起始像素(参见图5);
确定直线的第二个像素:在确认了起始像素的位置之后,在以起始像素为中心的3乘3的像素矩阵中寻找第二个像素点,邻域中具有最大幅值的像素点为目标像素(参见图6);
用同样的方式,以此类推,寻找接下来的所有可能的直线像素(参见图7和图8)。
(3.2)、坐标的变换:由于分析的图像为360°全景图,因此在全景图中物体的轮廓边缘是由一系列发生了畸变的线组成,而本发明旨在如何识别发生了畸变的线在透视投影下是直线。因此对于上一步中找到的所有可能的直线边缘像素点,进行坐标的变换。
假设有一个单位球面(unit sphere)恰好能被原始输入图像(图2)完全覆盖,则对于在上一步中找到的每一个可能的像素点P进行二维平面坐标(u,v)→球面坐标的坐标变换(如图9所示),计算公式如下:
其中,w、h分别表示输入图像宽和高,ρ表示单位球的球心(origin)到点P的欧几里得距离(Euclidean distance)记为1.0,θ是从球心到点P的连线与正z-轴的夹角,是从球心到点P的连线在xy-平面的投影线与正z-轴的夹角(图9)。
(3.3)平面拟合:
利用球面映射理论,在360°全景图中,如果边缘像素能拟合成一个通过单位球心的大圆,则这些像素能构成正交投影下的一条直线,即全景图中这些像素所构成的发生了畸变的边缘实际为直线边缘。
运用笛卡尔坐标和标准的平面方程进行计算,设像素点的笛卡尔坐标为(x,y,z),球面坐标与笛卡尔坐标之间的转换公式如下:
标准平面方程为:
Ax+By+Cz+D=0
由于被拟合的平面通过单位球球心,所以系数D=0,则用于拟合的平面方程为Ax+By+Cz=0。将像素的笛卡尔坐标(x,y,z)代入平面方程中,求解方程组,从而解出系数A,B和C。
平面拟合实为递归过程:定义一个数组,该数组包含能构成一条直线的像素{Pi}i≥1。首先,根据不共线三点确定一个平面的性质,将前三个边缘像素点{Pi}i=1,2,3所对应的笛卡尔坐标{(xi,yi,zi)}i=1,2,3代入平面方程中进行拟合计算,求出第一组可能的系数解(A1,B1,C1);然后,对于每一个新计算出的像素点(Pi)i≥4,要判断其是否能与之前求出的像素构成一条直线,需满足以下条件:1.该像素与上一步拟合得到的平面之间的距离d小于某给定的距离阈值d',2.该像素在二值边缘图像中的值为1,如果(Pi)i≥4同时满足以上两个条件,则把(Pi)i≥4添加至数组中,并连同之前计算得到的所有像素点P1,P2…,Pi-1重新进行平面拟合,并计算出新的系数解(Aj,Bj,Cj)j≥2。对于上文中提到的条件1,采用公式点到平面的距离公式:
(3.4)确定直线的终点像素:确定某个点是否为直线的终点,可以通过计算该像素点到所拟合平面的距离来实现。当求出的距离大于某给定的距离阈值d′,则说明直线终止。设某像素点坐标为(x1,y1,z1)到平面的距离d的计算公式如下:
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (4)
1.一种在全景图中提取直线的方法,其特征在于,步骤为:
(1)、计算原始输入图像的梯度图像;
(2)、计算原始输入图像的边缘图像;
(3)、识别出直线目标;结合二维坐标、球面坐标、笛卡尔坐标的转换公式,并利用边缘像素的特征,采用有效的边缘提取算法群集所有能构成直线的边缘像素,从而识别出直线目标;
所述步骤(3)的详细步骤为:
(3.1)、直线边缘像素的确定;首先确定直线边缘的起始像素:当某像素的幅值大于某给定的全局阈值τ,且该像素在二值边缘图像上的值为1,则选定此像素为起始像素;确定直线的第二个像素:在确认了起始像素的位置之后,在以起始像素为中心的3乘3的像素矩阵中寻找第二个像素点,邻域中具有最大幅值的像素点为目标像素;用同样的方式,以此类推,寻找所有可能的直线边缘像素点;
(3.2)坐标的变换:对于步骤(3.1)中找到的所有可能的直线边缘像素点,进行坐标的变换;假设有一个单位球恰好能被原始输入图像完全覆盖,则对于在上一步中找到的每一个可能的像素点P进行二维平面坐标(u,v)→球面坐标的坐标变换,公式如下:
其中,w、h分别表示原始输入图像宽和高,ρ表示单位球的球心到点P的欧几里得距离记为1.0,θ是从球心到点P的连线与正z-轴的夹角,是从球心到点P的连线在xy-平面的投影线与x轴的夹角;
(3.3)平面拟合:
运用笛卡尔坐标和标准的平面方程进行计算,设像素点的笛卡尔坐标为(x,y,z),球面坐标与笛卡尔坐标之间的转换公式如下:
标准平面方程为:
Ax+By+Cz+D=0
其中,D=0,将x,y,z代入平面方程中,通过求解线性方程组,解出系数A,B和C;
(3.4)确定直线的终点像素:根据(3.3)中所述,对每一个可能的像素点,计算其到平面的距离d,当d大于某给定的距离阈值d′,则说明该像素不在直线上,即直线终止。
2.根据权利要求1所述的在全景图中提取直线的方法,其特征在于,在步骤(1)中,利用Sobel算子获得原始输入图像的梯度图像;所述Sobel算子包含两组3*3的矩阵Gx和Gy,将这两个算子分别在横向x方向和纵向y方向与原始输入图像进行卷积运算,即可获得x方向与y方向的亮度差分近似值。
3.根据权利要求1所述的在全景图中提取直线的方法,其特征在于,在步骤(2)中,采用canny边缘提取算法计算原始输入图像的二值边缘图像。
4.根据权利要求1~3中任意一项所述的在全景图中提取直线的方法,其特征在于,所述步骤(1)中,进一步采用高斯去噪方法去除原始输入图像中多余的噪音。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310751202.5A CN103729850B (zh) | 2013-12-31 | 2013-12-31 | 一种在全景图中提取直线的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310751202.5A CN103729850B (zh) | 2013-12-31 | 2013-12-31 | 一种在全景图中提取直线的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103729850A CN103729850A (zh) | 2014-04-16 |
CN103729850B true CN103729850B (zh) | 2017-01-11 |
Family
ID=50453911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310751202.5A Active CN103729850B (zh) | 2013-12-31 | 2013-12-31 | 一种在全景图中提取直线的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103729850B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104700355A (zh) * | 2015-03-31 | 2015-06-10 | 百度在线网络技术(北京)有限公司 | 室内二维平面图的生成方法、装置和系统 |
CN105825499A (zh) | 2016-03-09 | 2016-08-03 | 京东方科技集团股份有限公司 | 基准平面的确定方法和确定系统 |
CN107274340A (zh) * | 2016-04-08 | 2017-10-20 | 北京岚锋创视网络科技有限公司 | 一种全景图像生成方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246549A (zh) * | 2007-02-16 | 2008-08-20 | 富士通株式会社 | 用于识别图像信息中的边界线的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101517004B1 (ko) * | 2008-04-14 | 2015-05-06 | 삼성전자주식회사 | 영상 처리 방법 |
-
2013
- 2013-12-31 CN CN201310751202.5A patent/CN103729850B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246549A (zh) * | 2007-02-16 | 2008-08-20 | 富士通株式会社 | 用于识别图像信息中的边界线的方法和装置 |
Non-Patent Citations (1)
Title |
---|
"基于结构先验的规则场景三维重建技术研究";焦增涛;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120715(第7期);论文第29页第5-10行,第30页第1-15行,第55页第8-9行,第57页第14-15行,图 3.3,图 5.2 * |
Also Published As
Publication number | Publication date |
---|---|
CN103729850A (zh) | 2014-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cham et al. | Estimating camera pose from a single urban ground-view omnidirectional image and a 2D building outline map | |
CN101216895B (zh) | 一种复杂背景图像中椭圆图像特征的自动提取方法 | |
CN104809689A (zh) | 一种基于轮廓的建筑物点云模型底图配准方法 | |
CN104484868B (zh) | 一种结合模板匹配和图像轮廓的运动目标航拍跟踪方法 | |
CN103632366A (zh) | 一种椭圆目标的参数识别方法 | |
CN103839038A (zh) | 一种人数统计的方法及装置 | |
CN105574521A (zh) | 房屋轮廓提取方法和装置 | |
CN105631872B (zh) | 基于多特征点的遥感图像配准方法 | |
CN104966289A (zh) | 一种基于4d光场的深度估计方法 | |
CN104809456A (zh) | 一种基于二值描述符的三维目标识别方法 | |
CN103778436A (zh) | 一种基于图像处理的行人姿态检测方法 | |
CN104484881A (zh) | 基于图像采集的Visual Map数据库建立方法及利用该数据库的室内定位方法 | |
CN103729850B (zh) | 一种在全景图中提取直线的方法 | |
CN103679740B (zh) | 一种无人机对地目标roi提取方法 | |
Wei et al. | A concentric loop convolutional neural network for manual delineation-level building boundary segmentation from remote-sensing images | |
CN105678720A (zh) | 一种全景拼接判断图像匹配方法及装置 | |
CN104992431B (zh) | 多光谱图像配准的方法及装置 | |
CN102737230B (zh) | 一种基于方向场估计的非局部均值滤波方法 | |
CN106780577B (zh) | 一种基于组特征的直线匹配方法 | |
CN104616035A (zh) | 基于图像全局特征及SURF算法的Visual Map快速匹配方法 | |
Wang et al. | Multi-features visual odometry for indoor mapping of UAV | |
CN106228560A (zh) | 一种复杂场景下的人数统计方法 | |
Wang et al. | Monocular 3d object detection based on pseudo-lidar point cloud for autonomous vehicles | |
Liu et al. | Detection of arbitrary triangle | |
CN106096597A (zh) | 一种人脸识别方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |