目录

  • 应用概览
  • 测试代码
  • 效果图
  • 参考引用

应用概览

近期在测试设计的带方位点的圆点特征提取算法与传统的OpenCV的圆点提取算法,在标定应用上精度的差异,但是遇到了一个问题———加工厂商制作实心圆点标定板时搞错需求了,于是我拥有了两块如图所示的带方位点的圆点标定板。。。

除此之外还有一个问题在于,如果我要横向对比两种图案对于标定精度的影响,标定板的摆放姿态需要尽可能一致,因此需要通过图像处理的方式将图中的同心圆环进行填充,得到实心圆点

测试代码

代码为批量处理脚本,处理逻辑是现将图片进行自适应阈值处理,之后提取轮廓,对存在父轮廓的边缘(同心圆内圆)进行填充处理,实现将同心圆转换为实心圆点,该方法可以用在类似需要填充图形内部的需求场景中。

import cv2 as cv
import numpy as np
import os# 输入图像地址
input_data_directory = "./data"
# 输出图像地址
output_data_directory = "./output"array_of_img = []
# 批量文件读入函数
def read_directory(directory_name):for filename in os.listdir(r"./"+directory_name):array_of_img.append(filename)read_directory(input_data_directory)
# 图像处理部分
for filename in array_of_img:img_gray = cv.imread(input_data_directory + '/' + filename, 0)_, thresh = cv.threshold(img_gray, 0, 255, cv.THRESH_BINARY + cv.THRESH_OTSU)contours, hierarchy = cv.findContours(thresh, cv.RETR_CCOMP, 2)# 找到内层轮廓并填充# hierarchy的形状为(1,6,4),使用np.squeeze压缩一维数据,变成(6,4)hierarchy = np.squeeze(hierarchy)for i in range(len(contours)):# 存在父轮廓,说明是里层if (hierarchy[i][3] != -1):# -1表示填充cv.drawContours(img_gray, contours, i, (0, 0, 0), -1)cv.imwrite(output_data_directory + '/' + filename, img_gray)print("转换完成")

效果图

参考引用

  1. 在OpenCV中填充圆圈
  2. python批量读取存储图片

Python OpenCV 将同心圆环填充为实心圆相关推荐

  1. python opencv在图像上画点和圆

    利用 opencv 里自带的 circle() 函数可以绘制以一个点为圆心特定半径的圆,其函数的声明如下: cv2.circle(img, center, radius, color[, thickn ...

  2. 使用Python+OpenCV+dlib为人脸生成口罩

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达推荐阅读 42个pycharm使用技巧,瞬间从黑铁变王者Google ...

  3. 面部表情识别java_使用Python+OpenCV+dlib为人脸生成口罩

    来源:深度学习与计算机视觉 本文约4800字,建议阅读6分钟本文试图用OpenCV和dlib库来实现这个过程,在这里我们综合生成5种类型的口罩来绘制人脸图像. 本文使用OpenCV dlib库生成口罩 ...

  4. [python opencv 计算机视觉零基础到实战] 八、ROI泛洪填充

    一.学习目标 了解什么是ROI 了解floodFill的使用方法 如有错误欢迎指出~ 目录 [python opencv 计算机视觉零基础到实战] 一.opencv的helloworld [[pyth ...

  5. python画椭圆-python opencv圆、椭圆与任意多边形的绘制实例详解

    圆形的绘制 : OpenCV中使用circle(img,center,radius,color,thickness=None,lineType=None,shift=None)函数来绘制圆形 impo ...

  6. 番外3. Python OpenCV 中如何绘制各种图形?

    本系列专栏写作方式 本系列专栏写作将采用首创的问答式写作形式,快速让你学习到 OpenCV 的初级.中级.高级知识. 3. Python OpenCV 中如何绘制各种图形? 本篇博客主要分享一下在 P ...

  7. python opencv Intel Realsense 使用滑动条调整图片的曝光率

    # -*- coding: utf-8 -*- """ @File : 200113:测试跟踪条tracebackbar().py @Time : 2020/1/13 9 ...

  8. 【图像处理】——Python+opencv实现提取图像的几何特征(面积、周长、细长度、区间占空比、重心、不变矩等)

    转载请注明详细地址 本文简单介绍了图像常见几何特征的概念以及求解方法 本文介绍了Python和opencv求解几何特征的常用方法 目录 其他形状外接轮廓的方法可以参考:<OpenCV-Pytho ...

  9. python异或运算怎么算_小强学Python+OpenCV之-1.4.4掩膜mask及位运算(与、或、非、异或)...

    问题引入 在小强学Python+OpenCV之-1.4.2裁剪一节,我们使用的是numpy数组切片功能实现图片区域的裁剪. 那么,如果我们想要裁剪图像中任意形状的区域时,应该怎么办呢? 答案是,使用掩 ...

  10. [python opencv 计算机视觉零基础到实战] 三、numpy与图像编辑

    一.学习目标 了解图片的通道与数组结构 了解使用numpy创建一个图片 了解使用numpy对图片的一般操作方法 目录 [python opencv 计算机视觉零基础到实战] 一.opencv的hell ...

最新文章

  1. ASP .NET Core MVC Entity Framework 旧书交易网站
  2. 大规模异常滥用检测:基于局部敏感哈希算法——来自Uber Engineering的实践
  3. 如何把Office365的更新从半年通道改成月度通道
  4. gzip android,怎么在Android系统中使用gzip进行数据传递
  5. bkwin设置文本控件为多行模式
  6. 在Web浏览器中显示Spring应用程序启动的进度
  7. 被吹得天花乱坠的无服务器架构,究竟是什么?
  8. NodeJs express自定义中间件
  9. python分词统计词频_基于结巴分词做的全文分词统计词频小脚本
  10. 【AI面试题】Kmeams算法流程以及Kmeans++介绍
  11. 【牛客练习赛57:D】回文串(回文树求前/后缀最长回文子串)
  12. Camera 图像处理原理分析- 色彩篇 一
  13. 大型网站之网站静态化(综合篇)
  14. STM32定时器产生指定个数脉冲
  15. 比对软件Blast,Blast+,Diamond如何选
  16. android基于蓝牙实验,基于Android系统蓝牙开发的探究与实现.pdf
  17. 摇一摇周边:微信是这样连接线下商户的
  18. windows 下 redis服务经常自动关闭
  19. 微分方程求通解推导-----专升本
  20. 怎样用一台手机做自媒体?

热门文章

  1. Suspending Methods【暂停方法队列说明】
  2. win7计算机搜不到无线网,怎么解决win7笔记本搜索不到WiFi
  3. 为什么手机网速太慢_为什么手机连上WiFi网速很慢
  4. 一小时快速建立数据分析平台
  5. 用python画蜡笔小新_用python画的蜡笔小新
  6. 大数据处理应遵循的四大原则
  7. gfsk调制频谱_ASK,OOK,FSK,GFSK是什么
  8. TrueCrypt 使用经验[1]:关于加密算法和加密盘的类型
  9. java公交路线查询微信小程序源码
  10. 学计算机的怎么防辐射,电脑机箱如何防辐射----给大家科普一下