Java+opencv3.2.0之hough圆检测
来源:互联网 发布:《java从入门到精通》 编辑:程序博客网 时间:2024/06/05 02:56
hough圆检测和hough线检测的原理近似,对于圆来说,在参数坐标系中表示为C:(x,y,r)。
函数: Imgproc.HoughCircles(Mat image, Mat circles, int method, double dp, double minDist, double param1, double param2, int minRadius, int maxRadius)
参数说明:
image:源图像
circles:检测到的圆的输出矢量(x,y,r)
method:使用的检测方法,目前只有一种Imgproc.HOUGH_GRADIENT
dp:检测圆心的累加器图像与源图像之间的比值倒数
minDist:检测到的圆的圆心之间的最小距离
param1:method设置的检测方法对应参数,针对HOUGH_GRADIENT,表示边缘检测算子的高阈值(低阈值是高阈值的一半),默认值100
param2:method设置的检测方法对应参数,针对HOUGH_GRADIENT,表示累加器的阈值。值越小,检测到的无关的圆
minRadius:圆半径的最小半径,默认为0
maxRadius:圆半径的最大半径,默认为0(若minRadius和maxRadius都默认为0,则HoughCircles函数会自动计算半径)
示例代码:
public static void main(String[] args) { System.loadLibrary(Core.NATIVE_LIBRARY_NAME); Mat src = Imgcodecs.imread("F:\\websbook_com_1589226.jpg"); Mat dst = src.clone(); Imgproc.cvtColor(src, dst, Imgproc.COLOR_BGR2GRAY); Mat circles = new Mat(); Imgproc.HoughCircles(dst, circles, Imgproc.HOUGH_GRADIENT, 1, 100, 440, 50, 0, 345); // Imgproc.HoughCircles(dst, circles, Imgproc.HOUGH_GRADIENT, 1, 100, // 440, 50, 0, 0); for (int i = 0; i < circles.cols(); i++) { double[] vCircle = circles.get(0, i); Point center = new Point(vCircle[0], vCircle[1]); int radius = (int) Math.round(vCircle[2]); // circle center Imgproc.circle(src, center, 3, new Scalar(0, 255, 0), -1, 8, 0); // circle outline Imgproc.circle(src, center, radius, new Scalar(0, 0, 255), 3, 8, 0); } Imgcodecs.imwrite("F:\\dst2.jpg", src); }
源图像:
输出图像:
阅读全文
0 0
- Java+opencv3.2.0之hough圆检测
- Java+opencv3.2.0之hough直线检测
- Java+opencv3.2.0之人脸检测
- OpenCV学习之Hough变换检测圆
- hough圆检测
- HOUGH变换检测圆
- Hough变换检测圆
- Hough变换检测圆
- 目标检测之hough forest
- Hough变换之直线检测
- Hough直线检测之我见
- 基于Hough变换检测圆
- Hough 变换检测直线、圆
- opencv轮廓检测之椭圆检测-----算法篇(7)--Hough transform检测圆
- Hough直线检测和圆检测
- Halcon之hough变换检测直线
- OpenCV学习之Hough变换检测直线
- Hough变换检测直线的Java实现
- [LeetCode 415] Add Strings(Python)
- 独立看门狗
- IntelliJ Idea 常用快捷键列表
- [FreeBSD] 文件系统自检失败处理
- C# Async与Await的使用
- Java+opencv3.2.0之hough圆检测
- Python strip() lstrip() rstrip() 函数 去除空格
- js 写 select 对应年的 自然周-日期 动态下拉列
- js关闭浏览器时清除本地缓存
- Servlet基本知识
- 嵌入式系统软件工程师有未来吗?
- 使用Toolbar + DrawerLayout快速实现高大上菜单侧滑
- jeesite安装 运行init-db.bat 系统找不到指定文件
- DCI格式注释