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爬虫之抓取百度贴吧并存储到本地txt文件改进版
Nov 06 Python
利用Python开发微信支付的注意事项
Aug 19 Python
python操作xlsx文件的包openpyxl实例
May 03 Python
Python处理中文标点符号大集合
May 14 Python
django初始化数据库的实例
May 27 Python
Python代码太长换行的实现
Jul 05 Python
Django MEDIA的配置及用法详解
Jul 25 Python
Python爬虫使用代理IP的实现
Oct 27 Python
python文字转语音实现过程解析
Nov 12 Python
python3用urllib抓取贴吧邮箱和QQ实例
Mar 10 Python
python字典与json转换的方法总结
Dec 28 Python
python之基数排序的实现
Jul 26 Python
Python中文分词库jieba(结巴分词)详细使用介绍
基于Python实现对比Exce的工具
Apr 07 #Python
pytorch分类模型绘制混淆矩阵以及可视化详解
Python OpenCV之常用滤波器使用详解
python Tkinter模块使用方法详解
一行Python命令实现批量加水印
Apr 07 #Python
Python中Matplotlib的点、线形状、颜色以及绘制散点图
You might like
php实现无限级分类(递归方法)
2015/08/06 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
laravel 解决后端无法获取到前端Post过来的值问题
2019/10/22 PHP
当鼠标移动时出现特效的JQuery代码
2013/11/08 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
node.js实现爬虫教程
2020/08/25 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
2016/08/05 Javascript
Bootstrap导航条学习使用(二)
2017/02/08 Javascript
js replace()去除代码中空格的实例
2017/02/14 Javascript
微信小程序之滚动视图容器的实现方法
2017/09/26 Javascript
浅谈Vue-cli 命令行工具分析
2017/11/22 Javascript
JavaScript 中使用 Generator的方法
2017/12/29 Javascript
详解Vue串联过滤器的使用场景
2020/04/30 Javascript
原生JS封装拖动验证滑块的实现代码示例
2020/06/01 Javascript
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
Python+pandas计算数据相关系数的实例
2018/07/03 Python
深入了解Python枚举类型的相关知识
2019/07/09 Python
python实现读取excel文件中所有sheet操作示例
2019/08/09 Python
python破解bilibili滑动验证码登录功能
2019/09/11 Python
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
香港钟表珠宝首饰商城:OneMallTime网摩间
2016/10/14 全球购物
英国家庭和商业健身器材购物网站:Fitness Options
2018/07/05 全球购物
简历中个人自我评价范文
2013/12/26 职场文书
大学生2014全国两会学习心得体会
2014/03/10 职场文书
生日寄语大全
2014/04/08 职场文书
《陈毅探母》教学反思
2014/05/01 职场文书
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
教师纪念9.18事件演讲稿范文
2014/09/14 职场文书
党员年度个人总结
2015/02/14 职场文书
军训决心书范文
2015/09/22 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
web前端之css水平居中代码解析
2021/05/20 HTML / CSS
Python 用户输入和while循环的操作
2021/05/23 Python
微信告警的zabbix监控系统 监控整个NGINX集群
2022/04/18 Servers