霍夫变换检测原理
概述
霍夫变换是一种特征检测(feature extraction),被广泛应用在图像分析(image analysis)、计算机视觉(computer vision)以及数位影像处理(digital image processing)。霍夫变换是用来辨别找出物件中的特征,例如:线条。他的算法流程大致如下,给定一个物件、要辨别的形状的种类,算法会在参数空间(parameter space)中执行投票来决定物体的形状,而这是由累加空间(accumulator space)里的局部最大值(local maximum)来决定。(百度词条)
霍夫变换是一种用于在图像中寻找各种形状的方法,原理是在参数空间中使用投票机制。霍夫变换常用于在图像中寻找目标结构。在该情况下,可以在二维直线参数空间对相同的直线参数进行投票,将边缘和线段组合在一起。(Python计算机视觉编程)
疑问:投票算法思想
参考知乎网友
自我粗略理解(以识别圆形为例):
选取一个结点作为质心,以该质心为基点,获取周围曲线结构(由质点组成)(边缘检测),在二维坐标系下对参数空间的范围内所有质点进行圆形质点投票,对落入曲线结构范围内的质点占比与圆的阈值作比较,超过阈值判断为圆予以标识,否则不予识别。
疑问:特征检测
特征检测是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征检测的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。(百度词条)
主要思想
1、每个边缘点都会投票兼容的线条;
2、寻找那些能得到很多选票的线条;
在opencv中一般用法
1.将彩色图转化为灰度图(呈现线条)
2.中值滤波降噪处理(筛去图中相对孤立的点,因为霍夫检测用于检测线条)
最初霍夫变换:精确地解析定义的形状(例如直线,圆,椭圆等)
广义霍夫变换:给出需要检测的形状的解析式,可以检测任意给定的形状。