python opencv3 圆检测
git:https://github.com/linyi0604/Computer-Vision
# coding:utf8 import cv2
import numpy as np img_origin = cv2.imread("../data/circle.jpg")
img_gray = cv2.cvtColor(img_origin, cv2.COLOR_BGR2GRAY)
# 低同滤波进行平滑图像
img = cv2.medianBlur(img_gray, 5)
cimg = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR) circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1, 120,
param1=100,param2=30,
minRadius=0, maxRadius=0)
"""
cv2.HoughCircles(image, method, dp,
minDist, circles, param1, param2,
minRadius, maxRadius)
参数:
image: 输入图像 必须是灰度图像
method:检测方法,常用CV_HOUGH_GRADIENT
dp:检测内侧圆心的累加器图像的分辨率于输入图像之比的倒数,
如dp=1,累加器和输入图像具有相同的分辨率,如果dp=2,
累计器便有输入图像一半那么大的宽度和高度
minDist: 两个圆心之间的最小距离
param1: 默认100, 是method方法的参数
在CV_HOUGH_GRADIENT表示传入canny边缘检测的阈值
param2: 默认100,method的参数,
对当前唯一的方法霍夫梯度法cv2.HOUGH_GRADIENT,
它表示在检测阶段圆心的累加器阈值,
它越小,就越可以检测到更多根本不存在的圆,
而它越大的话,能通过检测的圆就更加接近完美的圆形了
minRadius:默认值0,圆半径的最小值
maxRadius:默认值0,圆半径的最大值
返回值: """
# 整数化
circles = np.uint16(np.around(circles)) for i in circles[0, :]:
# 画出外边圆
cv2.circle(img_origin, (i[0], i[1]), i[2], (0, 255, 0), 2)
# 画出圆心
cv2.circle(img_origin, (i[0], i[1]), 2, (0, 0, 255), 3) cv2.imshow("", img_origin)
cv2.waitKey()
cv2.destroyAllWindows()
python opencv3 圆检测的更多相关文章
- python实现圆检测
目录: (一)霍夫圆检测原理 (二)代码实现 (一)霍夫圆检测原理 (二)代码实现 1 #霍夫圆检测 2 import cv2 as cv 3 import numpy as np 4 5 def d ...
- python opencv3 直线检测
git:https://github.com/linyi0604/Computer-Vision # coding:utf8 import cv2 import numpy as np # 读入图像 ...
- python opencv3 轮廓检测
git:https://github.com/linyi0604/Computer-Vision # coding:utf8 import cv2 import numpy as np # 创建一个2 ...
- 【python+opencv】直线检测+圆检测
Python+OpenCV图像处理—— 直线检测 直线检测理论知识: 1.霍夫变换(Hough Transform) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进 ...
- Python+OpenCV图像处理(十五)—— 圆检测
简介: 1.霍夫圆变换的基本原理和霍夫线变换原理类似,只是点对应的二维极径.极角空间被三维的圆心和半径空间取代.在标准霍夫圆变换中,原图像的边缘图像的任意点对应的经过这个点的所有可能圆在三维空间用圆心 ...
- opencv python:直线检测 与 圆检测
霍夫直线变换介绍 霍夫圆检测 现实中: example import cv2 as cv import numpy as np # 关于霍夫变换的相关知识可以看看这个博客:https://blog.c ...
- OpenCV 学习笔记03 直线和圆检测
检测边缘和轮廓不仅重要,还经常用到,它们也是构成其他复杂操作的基础. 直线和形状检测与边缘和轮廓检测有密切的关系. 霍夫hough 变换是直线和形状检测背后的理论基础.霍夫变化是基于极坐标和向量开展的 ...
- 用 Python 和 OpenCV 检测图片上的条形码
用 Python 和 OpenCV 检测图片上的的条形码 这篇博文的目的是应用计算机视觉和图像处理技术,展示一个条形码检测的基本实现.我所实现的算法本质上基于StackOverflow 上的这个问 ...
- OpenCV + python 实现人脸检测(基于照片和视频进行检测)
OpenCV + python 实现人脸检测(基于照片和视频进行检测) Haar-like 通俗的来讲,就是作为人脸特征即可. Haar特征值反映了图像的灰度变化情况.例如:脸部的一些特征能由矩形特征 ...
随机推荐
- Linux基础-host文件解析
任务目标:为集群内的机器设定主机名,利用/etc/hosts文件来解析自己的集群中所有的主机名, 相应的集群的配置应该改成使用主机名的方式 使用 hostnamectl set-hostname 设定 ...
- 【译】第一篇 Replication:复制简介
本篇文章是SQL Server Replication系列的第一篇,详细内容请参考原文. 复制这个词来自拉丁语中的"replicare",意味着重复.Replication des ...
- hdu 1004 Let the Balloon Rise(字典树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1004 Let the Balloon Rise Time Limit: 2000/1000 MS (J ...
- 零值比较--BOOL,int,float,指针变量与零值比较的if语句
这是程序员面试的一道常见题,也是个C++基础问题.若只在大学里看过几本基础的编程入门书,看见这道题可能会觉得奇怪,不就是和0比较吗,直接拿出来比就是了,其实非也.下文引自google搜索结果,出处不详 ...
- 20165329 Java实验二:面向对象编程
实验内容: 面向对象程序设计-1 实验要求: 提交最后三个JUnit测试用例(正常情况,错误情况,边界情况)都通过的截图 实验步骤: 1.按照老师博客的要求新建一个MyUtil项目 在src内新建ja ...
- CodeForces 724G: Xor-matic Number of the Graph
题目传送门:CF724G. 题意简述: 一张 \(n\) 个点的无向图,边有边权. 定义三元组 \((u,v,w)(1\le u < v\le n)\) 合法当且仅当存在从点 \(u\) 到点 ...
- 【算法学习】manacher
manacher太水了. 这篇blog不能称作算法学习,因为根本没有介绍…… 就贴个模板,太简单了…… #include<cstdio> #include<cstring> # ...
- kafka集群及监控部署
1. kafka的定义 kafka是一个分布式消息系统,由linkedin使用scala编写,用作LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础 ...
- python包/模块路径
当Python执行import语句时,它会在一些路径中搜索Python模块和扩展模块.可以通过sys.path查看这些路径,比如: >>> import sys >>&g ...
- POJ 2955 Brackets(括号匹配一)
题目链接:http://poj.org/problem?id=2955 题目大意:给你一串字符串,求最大的括号匹配数. 解题思路: 设dp[i][j]是[i,j]的最大括号匹配对数. 则得到状态转移方 ...