opencv 利用图像轮廓函数填充圆环内部 图像轮廓函数应用小例子
实验:
import cv2 as cv
import numpy as np# 1.读入圆环
img = cv.imread('circle_ring.jpg')
img_gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
_, thresh = cv.threshold(img_gray, 0, 255, cv.THRESH_BINARY + cv.THRESH_OTSU)# 2.使用cv.RETR_CCOMP寻找轮廓
contours, hierarchy = cv.findContours(thresh, cv.RETR_CCOMP, 2)# 3.找到内层轮廓并填充
# hierarchy的形状为(1,6,4),使用np.squeeze压缩一维数据,变成(6,4)
hierarchy = np.squeeze(hierarchy)for i in range(len(contours)):# 存在父轮廓,说明是里层if(hierarchy[i][3] != -1):# 参数5:-1表示填充cv.drawContours(img, contours, i, (180, 215, 215), -1)# 4.显示结果
cv.imshow('fill', img)
cv.waitKey(0)
cv.destroyAllWindows()
有不懂的地方请参考:
opencv 绘制图像轮廓
opencv cv.findContours详解
opencv官方文档 cv.findContours函数
opencv 利用图像轮廓函数填充圆环内部 图像轮廓函数应用小例子相关推荐
- opencv 利用傅里叶变换获取低频和高频部分图像-07
1. 效果 2. 代码 # -*- coding: utf-8 -*- import cv2 import cv2 as cv import numpy as np from matplotlib i ...
- opencv补全边缘_为什么OpenCV中绘制的轮廓不能填充图像边缘的轮廓?
编辑:我绕过了这个问题,在图像中添加了一个2位帧,然后使用我的代码,最后剪切图像以删除多余的帧.这是一个丑陋的解决方案,但它的工作! 我遇到了一个问题,我不确定这是一个错误还是我缺乏经验.我会尽量把它 ...
- 利用OpenCV的函数matchTemplate()实现在图像中寻找、检索、搜索模板图像【图像模板匹配】
利用OpenCV的函数matchTemplate()实现在图像中寻找.检索.搜索模板图像[图像模板匹配] 在博文 https://www.hhai.cc/thread-220-1-1.html 中我们 ...
- 图像的形态学开操作(开运算)和闭操作(闭运算)的概念和作用,并用OpenCV的函数morphologyEx()实现对图像的开闭操作
大家看这篇博文前可以先看一看下面这篇博文,下面这篇博文是这篇博文的基础: 详解图像形态学操作之图形的腐蚀和膨胀的概念和运算过程,并利用OpenCV的函数erode()和函数dilate()对图像进行腐 ...
- 【图像处理】——Python+opencv实现二值图像的轮廓边界跟踪以及轮廓面积周长的求解(findcontours函数和contourArea函数)
目录 一.函数 cv.findContours 二.轮廓层级(返回参数hierarchy) 三.轮廓寻找方式 1. RETR_LIST 2. RETR_TREE 3. RETR_EXTERNAL 4. ...
- cvDrawContours:在图像上绘制外部和内部轮廓
转自:http://www.aiseminar.cn/html/18/t-618.html?action-uchimage 函数cvDrawContours用于在图像上绘制外部和内部轮廓.当thick ...
- OpenCV精进之路(八):图像轮廓和图像分割修复——轮廓查询和多边形包围轮廓
Canny一类的边缘检测算法可以根据像素之间的差异,检测出轮廓边界的像素,但它没有将轮廓作为一个整体.所以要将轮廓提起出来,就必须将这些边缘像素组装成轮廓. OpenCV中有一个很强大的函数,它可以从 ...
- Opencv:图像旋转,cv2.getRotationMatrix2D 和 cv2.warpAffine 函数
学习记录如何使用opencv实现对图像的旋转操作. 1 cv2.getRotationMatrix2D(center, angle, scale) 图像的旋转矩阵一般为: 但是单纯的这个矩阵是在原点处 ...
- OpenCV图像旋转,指定填充背景颜色边界颜色
OpenCV图像旋转,指定填充背景颜色边界颜色 OpenCV与图像旋转有关的函数: (1)warpAffine函数 void cv::warpAffine ( InputArray src, ...
最新文章
- linux hexo写博客,自己centos7架设hexo网站
- 有人说:穷学IT富搞金融!程序员究竟是不是一帮苦孩子在做?
- 深入理解 C# 协变和逆变【转】
- faster rcnn源码解读(三)train_faster_rcnn_alt_opt.py
- [react-router] React-Router怎么获取历史对象?
- java禁止修改map_Java中实现不可变Map
- JQMeter进度条动态加载演示
- Linux设备驱动模型-Driver
- java.lang.stringind_为什么越界了? java.lang.StringIndexOutOfBoundsException
- 【人脸姿态】2D人脸姿态估计的两种方式:solvePnP与3DMM参数
- 计算机连接华为路由器5g变慢,华为企业级路由器 HUAWEI AR101W-S系列无线功能特别慢?...
- nginx.conf中的fastcgi_pass
- rap技术原理_RAP_表观遗传_北京晶莱华科生物技术有限公司
- Python玫瑰花绘制
- 苹果授权登录Sign In With Apple亲测通过版[100%成功]
- intern string java_聊聊java String的intern
- vim 安装插件及常用插件
- 神经网络训练的一般步骤,神经网络是怎么训练的
- 4G卡的linux机器充当路由器(Ubuntu16 设置iptables NAT )
- 深入 delphi (转)