python知识:opencv下的轮廓和区域
1 说明
凸包集合,如何用openCV取一个图像的凸包集合?这里用一个小程序实现。给以记录
2 程序实现
输入图像
# !/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/11/12 15:48
# @Author : shaocanfan
# @File : testRot.py
import cv2# 读取图片并转至灰度模式
imagepath = '../image/anfive.jpg'
img = cv2.imread(imagepath, 1)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
# 图片轮廓
contours, hierarchy = cv2.findContours(thresh, 2, 1)
cnt = contours[0]
# 寻找凸包并绘制凸包(轮廓)
hull = cv2.convexHull(cnt)
print(hull)length = len(hull)
for i in range(len(hull)):cv2.line(img, tuple(hull[i][0]), tuple(hull[(i+1)%length][0]), (0,255,0), 2)# 显示图片
cv2.imshow('line', img)
cv2.waitKey()
3 结果图像
python知识:opencv下的轮廓和区域相关推荐
- Python,OpenCV提取图片中的多个茄子种子轮廓,并按从左到右排序后显示
Python,OpenCV提取图片中的多个茄子种子轮廓,并按从左到右排序后显示 1. 效果图 2. 源码 写这篇博客源于博友的提问,期望把下图中的多个茄子种子按从左到右的顺序提取出来: 1. 效果图 ...
- 使用Python和OpenCV对轮廓进行排序(从左到右,自上而下)
使用Python和OpenCV对轮廓进行排序(从左到右,自上而下) 1. 效果图 2. 原理 3. 源码 参考 使用轮廓来构建移动文档扫描仪. 使用轮廓来检测图像中的条形码. 利用轮廓来找到从相机到物 ...
- 使用Python,OpenCV+OCR检测护照图像中的机器可读区域(MRZ Machine-Readable Zones)
使用Python,OpenCV+OCR检测护照图像中的机器可读区域(MRZ Machine-Readable Zones) 1. 效果图 2. 原理 3. 源码 参考 这篇博客将介绍如何只使用基本的图 ...
- 使用Python,OpenCV进行基本的图像处理——提取红色圆圈轮廓并绘制
使用Python,OpenCV进行基本的图像处理--提取红色圆圈轮廓并绘制 1. 效果图 1.1 形态学图像处理效果图 1.2 转换HSV色彩空间提取 2. 源码 2.1 形态学图像处理提取源码 2. ...
- Python,OpenCV轮廓属性、轮廓检测及绘制
Python,OpenCV轮廓属性.轮廓检测及绘制 1. 效果图 2. 源码 2.1 轮廓属性 2.2 轮廓特征 参考 这篇博客将介绍OpenCV中的轮廓,轮廓的特征及属性(质心,面积,轮廓,近似轮廓 ...
- 使用Python、OpenCV计算轮廓的中心
1. 使用Python.OpenCV计算轮廓的中心并标记 2. 使用Python.OpenCV检测轮廓的形状并标记 3. 使用颜色通道统计信息来标记形状的实际颜色并标记 本博客的目标:(1)检测图像中 ...
- 使用Python,OpenCV进行涂鸦(绘制文字、线、圆、矩形、椭圆、多边形轮廓、多边形填充、箭头~)
使用Python,OpenCV进行涂鸦(绘制文字.线.圆.矩形.椭圆.多边形轮廓.多边形填充.箭头) 1. 效果图 2. 原理 2.1 绘制线:cv2.line(canvas, (300, 0), ( ...
- 利用python安装opencv_Linux下安装OpenCV+Python支持
原博文 2016-08-22 09:42 − 以下说明在Linux下Python和OpenCV结合安装的过程,Python要使用OpenCV模块,则必须导入OpenCV提供的包,所以要提供Python ...
- Python+OpenCV:图像轮廓
Python+OpenCV:图像轮廓 轮廓是什么? 轮廓可以简单地解释为一条连接所有连续点(沿边界)的曲线,具有相同的颜色和强度. 轮廓线是形状分析.目标检测和识别的重要工具. 为了获得更好的精度,可 ...
最新文章
- Node响应中文时解决乱码问题
- Wappo BFS求最短路+路径记录
- python获取windows窗口_Python实现遍历windows所有窗口并输出窗口标题的方法
- 《看聊天记录都学不会Python到游戏实战?太菜了吧》(7)我用函数写了个特洛伊木马
- LInux下centos6.7 设置字符集,解决乱码问题
- pku1067----取石子游戏(博弈)
- FFmpeg 在ubuntu 中编译出so
- js进阶 10-1 JQuery是什么
- VS2012安装教程
- SpringBoot 使用freemarker 处理文档,找不到文件位置(报错:basePackagePath=““ /* relatively to resourceLoaderClass pkg)
- mac 如何安装/运行 kakfa
- Spring Boot (十一): Spring Boot 定时任务
- Greasy Fork、GitHub、OpenUserJS
- 谷歌网盘下载 根据文件ID miniimagenet
- Java计算机毕业设计水果购物商城源码+系统+数据库+lw文档
- C# vb .net实现淡色效果滤镜
- 数学-排列组合的理解
- 腾讯云服务器如何重装系统
- ITSM开源工具OTRS安装
- “软件狂”:梁肇新的成长之路(转载)
热门文章
- 报错解决方案:ERROR: Cython.Build.cythonize not found.
- 深度学习核心技术精讲100篇(三十六)-EdgeRec:边缘计算在淘宝推荐系统中的大规模应用
- 分享几个matlab的下载安装包吧,一周有效期,过期不候
- 数据中台(四)数栈,企业级一站式数据中台PaaS
- 用Tableau画圆形网络关系图
- MapReduce编程实战之“调试”
- tomcat架构分析(valve机制)【转】
- Kafka设计解析(四):Kafka Consumer解析--转
- Spring 中JCA CCI分析--转载
- eclipse创建多模块maven工程小结