OpenCV 第六章 Hough 直线检测、圆检测
2013-09-07 17:38
253 查看
chap6
第一部分:Hough 圆检测:
1,圆检测的 输入图像是灰度图; 线检测的输入是二值图。
2,圆检测之前必须先进行滤波(通常是高斯滤波),否则误检测太高。
3,dp 累加器图像分辨率 越大越易误判,最好为2。
4, param1 : canny_threshold 根据图像总体灰度情况
param2 : accumulate_threshold 较大,只检测较大的圆;较小,小圆也检测。
5,我曾看到其他博客或其他地方有以下评论:
“圆检测检测的中心是准确的,画出来的半径却是不能保证的。”
所以,当你不清楚你的检测到底对于不对,建议使用自己设定的较小的半径,如2 - 5。
利于查看检测圆心与真实圆心之间的距离。
第二部分: Hough 线检测
1,线检测输入是二值图。
2,SHT相对而言,找的线参数比较准,但是画的位置不准。具体表现为检测的线端点和图片实际端点有一定偏差
3,PPHT 检测结果相对SHT来说,更靠近图片中的线位置。具体表现为:起始端点比SHT更靠近图片线端点
看似矛盾,其实不矛盾。
假如你知道图片中线的端点,你把它带入SHT内的参数,更准
具体在实际中如何使用,应该多尝试着改变参数,考察检测结果。
以上内容纯属个人意见,仅供参考。
第一部分:Hough 圆检测:
1,圆检测的 输入图像是灰度图; 线检测的输入是二值图。
2,圆检测之前必须先进行滤波(通常是高斯滤波),否则误检测太高。
3,dp 累加器图像分辨率 越大越易误判,最好为2。
4, param1 : canny_threshold 根据图像总体灰度情况
param2 : accumulate_threshold 较大,只检测较大的圆;较小,小圆也检测。
5,我曾看到其他博客或其他地方有以下评论:
“圆检测检测的中心是准确的,画出来的半径却是不能保证的。”
所以,当你不清楚你的检测到底对于不对,建议使用自己设定的较小的半径,如2 - 5。
利于查看检测圆心与真实圆心之间的距离。
第二部分: Hough 线检测
1,线检测输入是二值图。
2,SHT相对而言,找的线参数比较准,但是画的位置不准。具体表现为检测的线端点和图片实际端点有一定偏差
3,PPHT 检测结果相对SHT来说,更靠近图片中的线位置。具体表现为:起始端点比SHT更靠近图片线端点
看似矛盾,其实不矛盾。
假如你知道图片中线的端点,你把它带入SHT内的参数,更准
具体在实际中如何使用,应该多尝试着改变参数,考察检测结果。
以上内容纯属个人意见,仅供参考。
相关文章推荐
- OpenCV学习之Hough变换检测直线
- 霍夫变换直线检测houghlines及opencv的实现分析
- OpenCV中Hough直线检测和圆检测
- Opencv图像识别从零到精通(22)-----hough变换检测直线与圆
- Python语言opencv使用笔记(十一)(详解hough变换检测直线与圆)
- OpenCV中Hough检测直线中pt1、pt2点的确定
- 霍夫变换直线检测houghlines及opencv的实现分析
- Java调用OpenCV进行Hough变换直线检测
- OpenCV学习之基于Hough变换的直线检测
- 霍夫变换直线检测houghlines及opencv的实现分析
- python opencv -详解hough变换检测直线与圆
- opencv中标准Hough变换检测出的直线参数
- 【OpenCV笔记 13】OpenCV中Hough霍夫直线检测和同一窗口显示多幅图片
- OpenCV2马拉松第22圈——Hough变换直线检测原理与实现
- OpenCV3.0 Examples学习笔记(12)-houghlines.cpp-通过HoughLinesP函数实现直线检测
- OpenCV自学笔记5:Hough变换检测直线和圆
- Python下opencv使用笔记(十一)(详解hough变换检测直线与圆)
- Java+opencv3.2.0实现hough直线检测
- OpenCv中用hough变换检测直线,有图有真相
- 【学习opencv】实现霍夫变换(1)检测直线