opencv-Hough 圆环变换
Hough 圆环变换(Hough Circle Transform)是一种用于在图像中检测圆环的技术。与 Hough 直线变换类似,它通过在参数空间中表示图像中的圆环,将圆环检测问题转换为参数空间的累加问题。OpenCV 提供了 cv2.HoughCircles() 函数来执行 Hough 圆环变换。
cv2.HoughCircles()
circles = cv2.HoughCircles(image, method, dp, minDist, param1, param2, minRadius=0, maxRadius=0)
参数说明:
image: 输入的灰度图像。method: 圆环检测的方法。目前 OpenCV 中只支持cv2.HOUGH_GRADIENT,表示使用基于梯度的检测方法。dp: 累加器分辨率与图像分辨率的倒数比。如果设置为1,累加器的分辨率与图像分辨率相同;如果大于1,累加器的分辨率小于图像分辨率。minDist: 检测到的圆之间的最小距离。param1: Canny 边缘检测的高阈值。param2: 圆心累加器的阈值。只有当某个圆的累加值高于该阈值时,该圆才会被检测到。minRadius: 检测的圆的最小半径。maxRadius: 检测的圆的最大半径。
返回值:
circles: 检测到的圆的参数。每行表示一个检测到的圆,包括圆心的坐标和半径。
以下是一个简单的示例,演示如何使用 Hough 圆环变换检测图像中的圆环:
import cv2
import numpy as np
import matplotlib.pyplot as plt# 读取图像并转换为灰度
img = cv2.imread( r"C:\Users\mzd\Desktop\opencv\3.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 高斯模糊
blurred = cv2.GaussianBlur(gray, (9, 9), 2)# 执行 Hough 圆环变换
circles = cv2.HoughCircles(blurred, cv2.HOUGH_GRADIENT, dp=1, minDist=50, param1=50, param2=30, minRadius=10, maxRadius=100)# 将检测到的圆心坐标和半径转换为整数
circles = np.uint16(np.around(circles))# 在原图上绘制检测到的圆环
for i in circles[0, :]:cv2.circle(img, (i[0], i[1]), i[2], (0, 255, 0), 2) # 绘制圆环cv2.circle(img, (i[0], i[1]), 2, (0, 0, 255), 3) # 绘制圆心# 显示原图和检测到的圆环
plt.figure(figsize=(10, 5))plt.subplot(121), plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.title('Original Image with Circles'), plt.axis('off')plt.subplot(122), plt.imshow(blurred, cmap='gray')
plt.title('Blurred Image'), plt.axis('off')plt.show()


在这个示例中,我们首先读取了一幅图像,将其转换为灰度图像,然后对图像进行高斯模糊。接着,使用 cv2.HoughCircles() 函数进行 Hough 圆环变换,并在原图上绘制检测到的圆环。最后,通过 Matplotlib 显示原图和模糊图像。
相关文章:
opencv-Hough 圆环变换
Hough 圆环变换(Hough Circle Transform)是一种用于在图像中检测圆环的技术。与 Hough 直线变换类似,它通过在参数空间中表示图像中的圆环,将圆环检测问题转换为参数空间的累加问题。OpenCV 提供了 cv2.HoughCircles() 函数来执行…...
福州大学《嵌入式系统综合设计》实验五:图像裁剪及尺寸变换
一、实验目的 在深度学习中,往往需要从一张大图中裁剪出一张张小图,以便适应网络输入图像的尺寸,这可以通过bmcv_image_crop函数实现。 实践中,经常需要对输入图像的尺寸进行调整,以适用于网络输入图片尺寸࿰…...
LLM之Prompt(二):清华提出Prompt 对齐优化技术BPO
论文题目:《Black-Box Prompt Optimization: Aligning Large Language Models without Model Training》 论文链接:https://arxiv.org/abs/2311.04155 github地址:https://github.com/thu-coai/BPO BPO背景介绍 最近,大型语言模…...
chatglm3部署使用
chatglm3部署使用 1.部署2.使用3.接入微信4.vue前端 1.部署 1.首先去github下载chatglm3代码。Huggingface下载模型一直失败,所以用阿里的魔塔社区下载。 git clone https://github.com/THUDM/ChatGLM3.git git clone https://www.modelscope.cn/ZhipuAI/chatglm3…...
Android扫码ZXing
1. 获取权限 请注意动态申请及重写申请结果返回方法。 <uses-permission android:name"android.permission.CAMERA"/> 2. 添加依赖 //Gradle Scripts -> build.gradle(Module:app) implementation com.google.zxing:core:3.4.1 implementation com.jour…...
求解Beamforming-SOCP(CVX求解)
时间:2023年11月23日14:00:16: 直接上代码(辛苦两天才改出来的) clear all; K 4; %user number N4; %base station number var1e-9; H []; %initialize H matrix for i1:Kh 1/sqrt(2*K)*mvnrnd(zeros(N,1),eye(N),1)1i/sqrt(2*…...
解决Vue项目的runtime-only转为runtime-compiler
我们在vue.config.js中添加上 runtimeCompiler: true,然后再将main.js入口文件中的Vue实例改为以下即可 //修改前 new Vue({router,store,render: (h) > h(App) }).$mount(#app) //修改后 new Vue({el:#app,router,store, components:{App}, template:<App/>})...
hash模式和history模式
在Vue Router中,有两种路由模式可供选择:hash模式和history模式。它们各自有一些优点和缺点,下面是它们的简要介绍: hash模式的原理是通过hashchange事件,通过监听hash变化来驱动界面变化。它的url中有 # 号 1、监听…...
聊聊logback的LevelFilter
序 本文主要研究一下logback的LevelFilter AbstractMatcherFilter ch/qos/logback/core/filter/AbstractMatcherFilter.java public abstract class AbstractMatcherFilter<E> extends Filter<E> {protected FilterReply onMatch FilterReply.NEUTRAL;protect…...
mysql 行转列 GROUP_CONCAT 试验
1.概要 很多时候需要用到行专列的方式做数据分析。比如对通讯数据的采集 数据采集结果如下: 变量值采集周期131251132272 我想要看的结果 变量1变量2采集周期351372 就是我想看到相关数据的周期变化情况。 2.试验 2.1创建数据如下(表名 tb5&…...
HarmonyOS元服务开发实战—端云一体化开发
还记得我第一次接触arkui还是在22年的9月份,当时arkui还在一个比较初试的阶段。时隔一年再见方舟框架,它已经发生了令人瞩目的变化,不得不说华为方舟框架在更新迭代的速度已经遥遥领先。新的功能和性能优化让这个框架更加强大和灵活ÿ…...
【搭环境】装Python3.8 open3d
先装Python3.8 方法一试了找不到Python3.8的库,所以用方法二装上了。 Python3加入环境变量 更改Python默认指向 open3d需要Python3.6以上,最好用Ubuntu18版本,我用的16版本。。...
【C语言】深入解开指针(四)
🌈write in front :🔍个人主页 : 啊森要自信的主页 ✏️真正相信奇迹的家伙,本身和奇迹一样了不起啊! 欢迎大家关注🔍点赞👍收藏⭐️留言📝>希望看完我的文章对你有小小的帮助&am…...
AMEYA360:瑞萨面向高端工业传感器系统推出高精度模拟前端的32位RX MCU
全球半导体解决方案供应商瑞萨电子(TSE:6723)宣布面向高端工业传感器系统推出一款全新RX产品——RX23E-B,扩展32位微控制器(MCU)产品线。新产品作为广受欢迎的RX产品家族的一员,具有高精度模拟前…...
切面Aspect + 策略模式实现待办提醒功能
1.背景 产品需要实现一个待办提醒功能,就是核心业务发生变更即提醒业务员去处理相关业务。譬如:订单上传了支付凭证,那么就会提醒相关业务员去待办列表操办。 2.表设计 其实表设计主要是两张表sys_todo、sys_todo_detail 一张是待办核心表…...
SAP 调取http的x-www-form-urlencoded形式的接口
一、了解下x-www-form-urlencoded形式对于SAP来说有啥区别 简单来说, 1.raw格式就是标准的json格式:{“Name”:“John Smith”,“Age”: 23} 2.x-www格式是要转化一下的:NameJohnSmith&Age23 字段与字段相互连接要用 & 符…...
thingsboard3.6的mailConfigTemplateController错误
1、bug内容 使用3.6版本的tb代码进行打包生成boot的jar包,在启动的时候会报错mailConfigTemplateController bean初始化找不到文件路径。 Error creating bean with name mailConfigTemplateController defined in URL [jar:file:/D:/yuxinwei/AE/thingsboard/thingsboard-3…...
Go语言中获取IP
简介 在net包中提供了获取所有网卡的ip,一般不会用127.0.0.1,::1这样的本地回环地址,可以过滤掉,如果想要获取当前真正在使用的地址,得通过net.Dail去连一下才知道 获取ip地址 func main() {fmt.Println(getIpv4())fmt.Println…...
【Computer Vision Foundation】全球计算机视觉基金会论文网
计算机视觉基金会(Computer Vision Foundation,简称CVF)是一个致力于推动计算机视觉领域研究和发展的组织。以下是关于计算机视觉基金会的一些基本信息: 成立目的: CVF成立的目的是促进计算机视觉领域的学术研究、技术…...
计网(复习自用)
计算机网络 1.概述 1.1概念 含义 计算机网络:是一个将分散的。具有独立功能的计算机系统,通过通信设备和线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。 简单点说,计算机网络是互联的,自治的计算机集…...
Sage智能体平台:从LLM到生产级自动化工作流的工程实践
1. 项目概述:从复杂任务到可靠交付的智能体平台如果你和我一样,在过去几年里深度参与过AI应用开发,特别是基于大语言模型(LLM)的智能体(Agent)项目,那你一定体会过那种“理想很丰满&…...
多智能体工作流框架:从概念到实践,构建AI自动化系统
1. 项目概述:当AI代理开始“组队打怪”最近在AI应用开发圈里,一个叫pwnk77/agentic-workflows的项目热度不低。乍一看,这名字有点“极客范儿”——pwnk77是作者,agentic指向“智能代理”,workflows则是“工作流”。合起…...
Windows文件校验革命:HashCheck右键菜单如何让数据验证变得简单如点击?
Windows文件校验革命:HashCheck右键菜单如何让数据验证变得简单如点击? 【免费下载链接】HashCheck HashCheck Shell Extension for Windows with added SHA2, SHA3, and multithreading; originally from code.kliu.org 项目地址: https://gitcode.co…...
NVIDIA WJH技术:网络故障诊断的革命性解决方案
1. 网络诊断新利器:NVIDIA WJH技术解析在数据中心和云计算环境中,网络问题排查一直是运维团队最头疼的挑战之一。记得去年我们团队处理过一个典型的案例:某AI训练集群性能突然下降30%,传统监控工具显示所有链路都"健康"…...
Platinum-MD:三分钟掌握高品质MiniDisc音乐传输的终极指南
Platinum-MD:三分钟掌握高品质MiniDisc音乐传输的终极指南 【免费下载链接】platinum-md Minidisc NetMD Conversion and Upload 项目地址: https://gitcode.com/gh_mirrors/pl/platinum-md Platinum-MD是一款专为NetMD MiniDisc设备设计的现代化音乐管理工具…...
HPH三大系统:从液力到辅助全面解读
针对HPH设备那极为关键起到重大作用无可替代的三大关键系统,你是不是清晰知晓其到底是通过怎样的方式构成的呢?深入地去了解并且熟练地掌握这些知识,对于能够轻松地应对日常操作,以及能够妥善地去解决维护过程当中所遭遇到的难题&…...
【2026最新】Arduino IDE下载安装汉化保姆级教程(附安装包)
简介: Arduino IDE是全球最易用的开源单片机开发环境,专为初学者设计,支持Win/macOS/Linux全平台,免费开源。界面简洁、汉化便捷,配套教程丰富,兼容海量硬件与项目,助电子爱好者、学生和创客快…...
告别串口线!用两个HC-05蓝牙模块给STM32远程升级固件(保姆级避坑指南)
无线升级革命:HC-05蓝牙模块在STM32固件更新中的实战解析 当你的嵌入式设备被安装在旋转机械臂末端、密封配电箱或高空气象站时,拖着串口线升级固件的场景是否让你抓狂?两个总价不到50元的HC-05蓝牙模块,配合Ymodem协议࿰…...
升级鸿蒙6后,大家担心的痛点都搞定啦!真香!
朋友们,被用户追着说“还不去适配鸿蒙”的产品经理委托我发篇贴。 最近我在各大极客论坛看到好多鸿蒙6先锋用户在担心:鸿蒙6是真流畅,但你们升级后最怕的不是“卡”,而是“空”——书架空了、网盘空了、连看视频的快乐都没了。 …...
从晶圆到系统:TLP测试如何帮我们在流片前就“预判”芯片的ESD防护等级?
从晶圆到系统:TLP测试如何帮我们在流片前就“预判”芯片的ESD防护等级? 在芯片设计的漫长旅程中,流片前的验证环节往往是最令人忐忑的阶段。想象一下,当你花费数月时间精心设计的ESD防护电路,在流片后才发现无法通过HB…...
