hough变换检测圆周_Python OpenCV 霍夫变换

霍夫变换(Hough Transform)是图像处理中的一种特征提取技术,它通过一种投票算法检测具有特定形状的物体。Hough变换是图像处理中从图像中识别几何形状的基本方法之一。Hough变换的基本原理在于利用点与线的对偶性,将原始图像空间的给定的曲线通过曲线表达形式变为参数空间的一个点。这样就把原始图像中给定曲线的检测问题转化为寻找参数空间中的峰值问题。也即把检测整体特性转化为检测局部特性。比如直线、椭圆、圆、弧线等。

简单说opencv中霍夫变换可以帮助我们查找到一幅图像当中的直线或者圆。

import cv2
import numpy as np
from matplotlib import pyplot as pltimg = cv2.imread('002.tif', 0)
rows, cols = img.shape
img_p = img.copy()
img_C = img.copy()edges = cv2.Canny(img, 50, 170, apertureSize=3)
# 精度:取值范围0.1-2(默认值1)
accuracy = 2
# 阈值:取值范围1-255(小于200意义不大,默认值200)
threshold = 200# 霍夫曼直线变换
lines = cv2.HoughLines(edges, accuracy, np.pi/180, threshold)
for line in lines:rho, theta = line[0]a = np.cos(theta)b = np.sin(theta)x0 = a*rhoy0 = b*rhox1 = int(x0 + 1000*(-b))y1 = int(y0 + 1000*(a))x2 = int(x0 - 1000*(-b))y2 = int(y0 - 1000*(a))cv2.line(img, (x1, y1), (x2, y2), (0, 0, 255), 2)# 概率霍夫直线变换
lines = cv2.HoughLinesP(edges, accuracy, np.pi/180, threshold, minLineLength=0, maxLineGap=0)
for line in lines:x1, y1, x2, y2 = line[0]# 绘制直线cv2.line(img_p, (x1, y1), (x2, y2), (0, 255, 0), 2)_, thresh= cv2.threshold(img, 150, 255, cv2.THRESH_TOZERO)
# 霍夫圆变换
# dp累加器分辨率与图像分辨率的反比默认1.5,取值范围0.1-10
dp = 2
# minDist检测到的圆心之间的最小距离。如果参数太小,则除了真实的圆圈之外,还可能会错误地检测到多个邻居圆圈。 如果太大,可能会错过一些圈子。取值范围10-500
minDist = 20
circles = cv2.HoughCircles(thresh, cv2.HOUGH_GRADIENT, dp, minDist, param1=45, param2=45, minRadius=0, maxRadius=50)
circles = np.uint16(np.around(circles))
for i in circles[0, :]:# 绘制外圆cv2.circle(img_C, (i[0], i[1]), i[2], (0, 255, 0), 2)# 绘制圆心cv2.circle(img_C, (i[0], i[1]), 2, (0, 0, 255), 2)cv2.imshow('img', img)
cv2.imshow("img-p", img_p)
cv2.imshow("img_C", img_C)
cv2.waitKey()

a83572cb903fa07ea9f8df6d623eae88.png
霍夫直线变换

33793e398e4243574266d5a09e3656b4.png
概率霍夫直线变换

c99c2eb3f621c75d91f72699b8a57084.png
霍夫圆变换

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532964.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

easyui中onchange事件_React中类似Vue的“模板语法”

一、数据绑定类似 Vue 的 v-model,this.state { val: 1, companies: ["阿里巴巴", "腾讯", "百度", "京东"], };companyNameUpdate(e) { this.setState({ companyName: e…

html5着陆页模板,多用途着陆页HTML模板

资源下载此资源下载价格为5D币,请先登录资源文件列表apnew/css/animate.css , 74096apnew/css/bootstrap.min.css , 121260apnew/css/font-awesome.min.css , 27466apnew/css/jquery-ui.css , 36437apnew/css/jquery.carousel-3d.default.css , 3639apnew/css/mater…

php十六进制字符串转成字节数组_10 天 5 千 Star!21 岁本科生给程序员开发的十六进制编辑器...

【导语】:ImHex 是一款界面美观的十六进制编辑器,主要面向逆向工程师和程序员。如果你喜欢暗黑系编辑器,那它应该是你的菜。ImHex 最近在 GitHub 上非常火热,上架五天就收获了 2.5k Star,十天 5k Star。开发者介绍ImHe…

扫掠两条引导线_《神都夜行录》周年庆点燃线上线下,解读国风二次元IP的成长之路...

自2016年国产二次元手游在市场实现登顶以来,该品类便一直呈明显的上升趋势,如今也依然是大小厂商乃至创业团队的布局对象。不过具体到二次元手游的玩法和IP建设上,多数产品都选择沿袭早期舰娘like的收集模式,再加上市面热门的重度…

四川三河职业学院计算机寝室,2020四川三河职业学院宿舍条件如何-有空调否?(宿舍图片)...

对于要考的大学宿舍条件好不好,想必大家也是很关心的,下面就带大家探索一番。(注:每年存在大学宿舍翻新的情况,数据与图片可作为参考。。)1、四川三河职业学院宿舍条件学生宿舍近日,四川三河职业学院为2013级即将入住的…

安徽科技学院计算机二级,安徽科技大学2017年3月计算机二级考试报名时间

根据安徽省教育招生考试院要求,安徽科技学院2017年上半年全国计算机二级考试定于2017年3月25日至28日(具体时间见准考证)举行。本次考试报名工作具体安排如下:一、开考科目、级别二、报名及缴费时间2017年2月13日上午9:00至2月28日下午17:30。三、报名方…

c# u盘使用记录_U盘如何快速清除使用记录【详解】

大家在使用U盘的时候,是不是觉得只要将U盘拔下来,就不会在刚才的电脑中留下使用过的痕迹?其实不然,只要你在Windows下对U盘做过任何操作,系统都会一丝一毫的记录下来,虽然这些在系统的资源管理器或记录上不会明显显示…

echart vue 图表大小_cesium+vue,性能优化

平时在vue开发中,我们都习惯把所有数据挂载到vue的data对象上,这样做大大简化了我们的开发流程,响应式数据简直不要太爽但是,针对地图业务的开发,使用了cesium这个开源库的话,其实完全不建议把整个库&#…

pytorch如何计算导数_PyTorch怎么用?来看这里

构建深度学习模型的基本流程就是:搭建计算图,求得损失函数,然后计算损失函数对模型参数的导数,再利用梯度下降法等方法来更新参数。搭建计算图的过程,称为“正向传播”,这个是需要我们自己动手的&#xff0…

crt中 新建的连接存储在哪_数字存储示波器的VPO技术

当使用数字存储示波器测量串行传输信号、数字电路上的地址/数据/控制总线、信号元器件上的噪声、复合视频信号或调制信号时,面临的最大困难在于这些信号随机、变化迅速、杂乱或不具备周期性。因此,为了提高捕获这些信号的几率,减少数字存储示…

计算机在平面设计中的作用,比例设计在平面设计中的作用与意义

随着互联网的不断发展,用户体验在设计师的产品设计中占有的比重越大了,而今天我们就一起来了解一下,比例设计在平面设计中的作用与意义。一、平面设计中的比例是什么?比例尺是指设计元素相对于其他元素的相对大小。一个物体只有在与其他物体…

元组可以直接添加进数据库吗_数据库篇-第一章:数据库基本概念

面试必备基础数据库知识,扫码关注公众号提升01 第一,什么是数据库?维基百科上是这样定义的:所谓“数据库”是以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。一个数据库由多个表空…

win7计算机找不到脚本文件夹,win7系统TXT文件打开提示找不到脚本文件的解决方法...

很多小伙伴都遇到过win7系统TXT文件打开提示找不到脚本文件的困惑吧,一些朋友看过网上零散的win7系统TXT文件打开提示找不到脚本文件的处理方法,并没有完完全全明白win7系统TXT文件打开提示找不到脚本文件是如何解决的,今天小编准备了简单的解…

剪切文件_转录组测序技术和结果解读(十六)——可变剪切

可变剪切的概念可变剪切是指从一个mRNA前体中通过不同剪接方式,选择不同的剪接位点组合,所产生不同的mRNA剪接异构体的过程。可变剪切的分类:外显子缺失 (Exon skipping);可变的5’端剪切 (Alternative 5’ splicing);…

archlinux详细安装步骤_最新Centos的liunx安装宝塔的详细步骤

很多人买的服务器是win系统或者是liunx系统,要是说win那就基本上不用学习就和自己的电脑一样操作就可以,但是有些新人刚接触liunx系统不知道怎么安装宝塔环境那今天126云就给大家详细介绍一下 步骤和操作请看下图准备的东西是 挂载磁盘 这个简单介绍就是…

卡诺模型案例分析_3个维度看竞品分析!

谁都想站在巨人的肩膀上,问题是怎么上去?ABC分享会线下24期回顾时间:10月24日 下午13:00-17:30地点:上海嘉定U-CUBE创意空间 参与人数:18人主题:怎样做竞品分析这次活动是第二次有上…

intellij服务器证书不受信任,ssl证书不受信任怎么办?ssl证书不受信任解决方案有什么?...

随之愈来愈多的ssl证书错误的状况出現,大伙儿都是有ssl证书不受信任怎么办这类的难题,而且对这种难题很头痛,下边将带大伙儿解析一下ssl证书不受信任的缘故及解决方案。一、ssl证书不会受到信任是什么缘故1、SSL证书并不是来源于认可的SSL证书…

小马源码_Java互联网架构-重新认识Java8-HashMap-不一样的源码解读

欢迎关注头条号:java小马哥周一至周日早九点半!下午三点半!精品技术文章准时送上!!!精品学习资料获取通道,参见文末看源码前我们必须先知道一下ConcurrentHashMap的基本结构。ConcurrentHashMap…

安装默认报表服务器虚拟目录,报表服务器虚拟目录(Reporting Services 配置)

报表服务器虚拟目录(Reporting Services 配置)12/15/2008本文内容使用“报表服务器虚拟目录”页可以配置报表服务器的虚拟目录。用于访问报表服务器 Web 服务的 URL 将包含该虚拟目录名称。完整的 URL 包括前缀(http:// 或 https://)、服务器名称和虚拟目录。服务器名称可能是内…

小程序向webview传参_独家 | 支付宝小程序向个人开发者开放公测

基于兴趣和周围小群体开发的个人小程序,才是为支付宝提供更加多样化的生活服务场景的来源。文 | Tech星球 (微信ID:tech618) 尹非凡、刘宁宁2月26日,Tech星球(微信ID:tech618) 独家获悉,支付宝小程序今日正式面向个人…