Python+OpenCV实现图片中的圆形检测


Posted in Python onApril 07, 2022

效果展示

Python+OpenCV实现图片中的圆形检测

Python+OpenCV实现图片中的圆形检测

Python+OpenCV实现图片中的圆形检测

中心的三个没检测到

import cv2
import numpy as np
import matplotlib.pyplot as plt
 
w = 20
h = 5
params = cv2.SimpleBlobDetector_Params()
# Setup SimpleBlobDetector parameters.
print('params')
print(params)
print(type(params))
 
 
# Filter by Area.
params.filterByArea = True
params.minArea = 10e1
params.maxArea = 10e3
 
params.minDistBetweenBlobs = 25
 
 
# params.filterByColor = True
params.filterByConvexity = False
 
# tweak these as you see fit
# Filter by Circularity
# params.filterByCircularity = False
# params.minCircularity = 0.2
 
# params.blobColor = 0
# # # Filter by Convexity
# params.filterByConvexity = True
# params.minConvexity = 0.87
 
# Filter by Inertia
# params.filterByInertia = True
# params.filterByInertia = False
# params.minInertiaRatio = 0.01
 
 
# img = cv2.imread("circles/circels.jpg",1)
img = cv2.imread("circles/Snap_001.jpg",1)
 
gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
# Detect blobs.
# image = cv2.resize(gray_img, (int(img.shape[1]/4),int(img.shape[0]/4)), 1, 1, cv2.INTER_LINEAR)
# image = cv2.resize(gray_img, dsize=None, fx=0.25, fy=0.25, interpolation=cv2.INTER_LINEAR)
minThreshValue = 120
_, gray = cv2.threshold(gray, minThreshValue, 255, cv2.THRESH_BINARY)
gray = cv2.resize(gray, dsize=None, fx=2, fy=2, interpolation=cv2.INTER_LINEAR)
# plt.imshow(gray)
# cv2.imshow("gray",gray)
 
detector = cv2.SimpleBlobDetector_create(params)
keypoints = detector.detect(gray)
 
print(len(keypoints))
 
 
fig = plt.figure()
# im_with_keypoints = cv2.drawKeypoints(gray, keypoints, np.array([]), (0, 0, 255), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
im_with_keypoints = cv2.drawKeypoints(gray, keypoints, np.array([]), (0, 0, 255),  cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
 
plt.imshow(cv2.cvtColor(im_with_keypoints, cv2.COLOR_BGR2RGB),interpolation='bicubic')
fname = "key points"
titlestr = '%s found %d keypoints' % (fname, len(keypoints))
plt.title(titlestr)
plt.show()
 
# cv2.imshow("graykey",gray)
# cv2.waitKey()
 
fig.canvas.set_window_title(titlestr)
 
ret, corners = cv2.findCirclesGrid(gray, (w, h), flags=(cv2.CALIB_CB_SYMMETRIC_GRID + cv2.CALIB_CB_CLUSTERING ), blobDetector=detector )
if corners is not None:
    cv2.drawChessboardCorners(img, (w, h), corners, corners is not None)
    print("find blob")
# # cv2.imshow('findCorners', img)
# cv2.waitKey()
    plt.imshow(img)
plt.show()

以上就是Python+OpenCV实现图片中的圆形检测的详细内容,更多关于Python OpenCV圆形检测的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
详细探究Python中的字典容器
Apr 14 Python
Python简单读取json文件功能示例
Nov 30 Python
Python设计模式之中介模式简单示例
Jan 09 Python
python 字典 按key值大小 倒序取值的实例
Jul 06 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
Jan 23 Python
python pickle存储、读取大数据量列表、字典数据的方法
Jul 07 Python
python基于FTP实现文件传输相关功能代码实例
Sep 28 Python
Django Serializer HiddenField隐藏字段实例
Mar 31 Python
Python验证码截取识别代码实例
May 16 Python
Python第三方包PrettyTable安装及用法解析
Jul 08 Python
Python爬虫基于lxml解决数据编码乱码问题
Jul 31 Python
python获取天气接口给指定微信好友发天气预报
Dec 28 Python
Python中文分词库jieba(结巴分词)详细使用介绍
基于Python实现对比Exce的工具
Apr 07 #Python
pytorch分类模型绘制混淆矩阵以及可视化详解
Python OpenCV之常用滤波器使用详解
python Tkinter模块使用方法详解
一行Python命令实现批量加水印
Apr 07 #Python
Python中Matplotlib的点、线形状、颜色以及绘制散点图
You might like
php array_search() 函数使用
2010/04/13 PHP
浅析使用Turck-mmcache编译来加速、优化PHP代码
2013/06/20 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
php实现数据库的增删改查
2017/02/26 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
Javascript下的keyCode键码值表
2007/04/10 Javascript
js每次Title显示不同的名言
2008/09/25 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
jQuery创建DOM元素实例解析
2015/01/19 Javascript
javascript的switch用法注意事项分析
2015/02/02 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
2016/05/05 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
微信小程序 跳转传递数据的实例
2017/07/06 Javascript
AutoJs实现刷宝短视频的思路详解
2020/05/22 Javascript
[58:32]EG vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python 判断一个进程是否存在
2009/04/09 Python
python输出指定月份日历的方法
2015/04/23 Python
Python3 读、写Excel文件的操作方法
2018/10/20 Python
详解Python连接MySQL数据库的多种方式
2019/04/16 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
2019/06/14 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
2019/08/23 Python
python实现简单日志记录库glog的使用
2019/12/13 Python
Python编写万花尺图案实例
2021/01/03 Python
英国最大的自有市场,比亚马逊便宜:Flubit
2019/03/19 全球购物
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
初中三年毕业生的自我评价分享
2014/02/14 职场文书
幼儿园教师的自我评价范文
2014/09/17 职场文书
员工工作自我评价
2014/09/26 职场文书
骨干教师个人总结
2015/02/11 职场文书
毕业证明模板
2015/06/19 职场文书
欢送领导祝酒词
2015/08/12 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
高中数学课堂教学反思
2016/02/18 职场文书
CSS3常见动画的实现方式
2021/04/14 HTML / CSS
请求模块urllib之PYTHON爬虫的基本使用
2022/04/08 Python