实战 | OpenCV中更稳更快的找圆方法--EdgeDrawing使用演示(详细步骤 + 代码)

这篇具有很好参考价值的文章主要介绍了实战 | OpenCV中更稳更快的找圆方法--EdgeDrawing使用演示(详细步骤 + 代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

导  读

    本文主要介绍如何在OpenCV中使用EdgeDrawing模块查找圆(详细步骤 + 代码)。

背景介绍

    从OpenCV4.5.2开始,Contrib模块中封装了开源库ED_Lib用于查找图像中的直线、线段、椭圆和圆。Github地址:

https://github.com/CihanTopal/ED_Lib

opencv 找圆,OpenCV,Python-OpenCV,opencv,人工智能,计算机视觉,图像处理,python

    算法原理简介:

    边缘绘制(ED)算法是一种解决边缘检测问题的主动方法。与许多其他遵循减法方法的现有边缘检测算法相比(即在图像上应用梯度滤波器后,根据多种规则消除像素,例如 Canny 中的非极大值抑制和滞后),ED 算法通过加法策略工作,即逐一选取边缘像素,因此称为“边缘绘制”。然后我们处理这些随机形状的边缘段以提取更高级别的边缘特征,即直线、圆、椭圆等。从阈值梯度幅度中提取边缘像素的流行方法是非极大值抑制,它测试每个像素是否具有最大值沿其梯度方向的梯度响应,如果没有则消除。然而,此方法不检查相邻像素的状态,因此可能会导致低质量(在边缘连续性、平滑度、薄度、定位方面)边缘片段。ED 不是非极大值抑制,而是指向一组边缘像素,并通过最大化边缘段的总梯度响应来将它们连接起来。因此,它可以提取高质量的边缘片段,而不需要额外的滞后步骤。

opencv 找圆,OpenCV,Python-OpenCV,opencv,人工智能,计算机视觉,图像处理,python

    OpenCV中使用介绍文档:

https://docs.opencv.org/4.5.2/d1/d1c/classcv_1_1ximgproc_1_1EdgeDrawing.html

使用步骤

    EdgeDrawing类是在Contrib的ximgproc模块中,C++中使用它需要满足以下条件:

    ① OpenCV >= 4.5.2

    ② CMake编译Contrib模块

    ③ 包含edge_drawing.hpp头文件

    Python中使用需要安装opencv-python-contrib >=4.5.2

【1】Python中使用演示:​​​​​文章来源地址https://www.toymoban.com/news/detail-718591.html

#公众号--计算机视觉之家
'''This example illustrates how to use cv.ximgproc.EdgeDrawing class.
Usage:    ed.py [<image_name>]    image argument defaults to board.jpg'''
# Python 2/3 compatibilityfrom __future__ import print_function
import numpy as npimport cv2 as cvimport random as rngimport sys
rng.seed(12345)
def main():try:        fn = sys.argv[1

到了这里,关于实战 | OpenCV中更稳更快的找圆方法--EdgeDrawing使用演示(详细步骤 + 代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一种在 Python 中实现更快 OpenCV 视频流的多线程方法

    概述 在本文中,我们将看到两个没有多线程的 Python 代码示例,用于从摄像头读取视频帧。我们将看到使用/不使用多线程获得的 FPS 的差异。 什么是多线程? 线程是进程中的一个执行单元。多线程是指通过在线程之间快速切换对 CPU 的控制(称为上下文切换)来并发执行多个

    2024年02月16日
    浏览(58)
  • 利用OpenCV与Qt5构建卡尺找圆工具(C++实现)

    基于OpenCV与Qt5构建卡尺找圆工具 博主近期基于海康Vision Master4.0做了一个工业视觉工程项目,其中就使用到了海康VM的找圆工具,然后博主根据其中的技术原理,也仿照开发了一个类似的功能,基于OpenCV和Qt5构建一个卡尺找圆的工具。卡尺找圆是在计算机视觉领域中常用的技术

    2024年02月10日
    浏览(68)
  • 【jetson 硬解码】使用NVDEC模块解码rtsp视频流,超低时延、比opencv更快、资源更少

    1、jetson系统:32.7.1, 2、jetpack:4.6.1, 3、deepstream:6.0.1, FastDeploy 问题1:

    2024年02月14日
    浏览(102)
  • openCV实战-系列教程4:图像梯度计算(Sobel算子/开运算/梯度计算方法/scharr算子/lapkacian算子)、源码解读 ?????OpenCV实战系列总目录

    打印一个图片单独做出一个函数: 先读进来一个原型白色图 打印结果: 如图有两个3*3的卷积核,其中A是原始图片中的一个3*3的区域,这个A和3*3的卷积核所谓对应位置相乘的结果就分别是左右梯度和上下梯度 假如A是这个矩阵:  那么Gx的计算结果就为:-x1+x3-2x4+2x6-x7+x9 代码实

    2024年02月10日
    浏览(47)
  • 实战 | OpenCV两种不同方法实现粘连大米粒分割计数(步骤 + 源码)

    导  读     本文主要介绍基于OpenCV的两种不同方法实现粘连大米分割计数,并给详细步骤和源码。 源码和图片素材见文末。 背景介绍     测试图如下,图中有个别米粒相互粘连,本文主要演示如何使用OpenCV用两种不同方法将其分割并计数。        方法一:基于分水岭算

    2024年01月21日
    浏览(114)
  • 【halcon 实现模板匹配,定位,找线,找点,找圆】

    c#联合halcon 链接: https://www.bilibili.com/video/BV1aR4y1473b/. halcon函数速查 链接: https://pan.baidu.com/s/1rbxf62bMh61Ie0pB4t3AHw . 提取码:0000 图片链接 链接: https://pan.baidu.com/s/1f0ld6nHcqzblvTnekEoSiQ . 0000 读取 选择模板 将模板从原图中截取出来 然后就可以开始找目标定位了 得到 x, y, angle, 分数 通

    2024年02月05日
    浏览(76)
  • Go中更安全的枚举

    Go让你用iota来使用枚举。 虽然Go是明确的,但iota似乎相对模糊。如果你以任何其他方式对const组进行排序,你会引入副作用。在上面的例子中,你仅仅对第一个参数Guest赋值了。你可以显式地给每个值分配一个数字来避免这个问题,但这使iota变得过时。 iota对于用位运算定义

    2024年01月17日
    浏览(39)
  • OpenCV-Python实战(14)——人脸检测详解(仅需6行代码学会4种人脸检测方法)

    人脸处理是人工智能中的一个热门话题,人脸处理可以使用计算机视觉算法从人脸中自动提取大量信息,例如身份、意图和情感。人脸在视觉交流中起着重要作用,这是由于人脸中包含大量非语言信息,因此人脸处理一直以来对于计算机视觉学习者来说都是非常有趣的话题,

    2024年02月06日
    浏览(96)
  • 关于springboot整合elasticsearch8.4.3的找不到相关类JsonProvider、JsonProvider的解决方案

    环境是springboot是2.3.7,elasticsearch是8.4.3 关于8.4.3的官方文档:https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/8.4/installation.html 创建ElasticsearchClient 对象: 一开始报错ClassNotFoundException: jakarta.json.spi.JsonProvider,然后看了下官方文档修改了下jakarta.json-api的版本.解决完成之后

    2024年02月02日
    浏览(61)
  • SQL HAVING 子句详解:在 GROUP BY 中更灵活的条件筛选

    HAVING 子句被添加到SQL中,因为 WHERE 不能与聚合函数一起使用。 HAVING语法 以下是Northwind示例数据库中“Customers”表的一部分选择: CustomerID CustomerName ContactName Address City PostalCode Country 1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany 2 Ana Trujillo Emparedados y helados Ana

    2024年02月05日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包