OpenCV python 轮廓的极值点
OpenCV python 轮廓的极值点
处理图片:[cs1.jpg]
import cv2
import numpy as npdef get_contour(img):"""获取连通域:param img: 输入图片:return: 最大连通域"""# 灰度化, 二值化, 连通域分析img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)ret, img_bin = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY)img_contour, contours, hierarchy = cv2.findContours(img_bin, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)return img_gray, contours[0]def main():# 1.导入图片img_src = cv2.imread("cs1.jpg")# 2.获取连通域img_gray, contour = get_contour(img_src)# 3.轮廓外边缘点mask = np.zeros(img_gray.shape, np.uint8)mask = cv2.drawContours(mask, [contour], 0, (255, 255, 255), -1)# 4.计算极值点left_most = tuple(contour[contour[:, :, 0].argmin()][0])right_most = tuple(contour[contour[:, :, 0].argmax()][0])top_most = tuple(contour[contour[:, :, 1].argmin()][0])bottom_most = tuple(contour[contour[:, :, 1].argmax()][0])print("left_most=", left_most)print("right_most=", right_most)print("top_most=", top_most)print("bottom_most=", bottom_most)# 5.绘制文字img_result = img_src.copy()font = cv2.FONT_HERSHEY_SIMPLEXcv2.putText(img_result, "A", left_most, font, 1, (0, 0, 255), 2)cv2.putText(img_result, "B", right_most, font, 1, (0, 0, 255), 2)cv2.putText(img_result, "C", top_most, font, 1, (0, 0, 255), 2)cv2.putText(img_result, "D", bottom_most, font, 1, (0, 0, 255), 2)# 6.显示图片cv2.imshow("img_src", img_src)cv2.imshow("img_result", img_result)cv2.waitKey()cv2.destroyAllWindows()if __name__ == '__main__':main()
结果图片:[img_result.jpg]
OpenCV python 轮廓的极值点相关推荐
- 使用Python,OpenCV沿着轮廓寻找极值点
使用Python,OpenCV沿着轮廓寻找极值点 这篇博客将介绍如何使用Python,OpenCV沿着轮廓寻找极值点,找到最北.最南.最东和最西(x,y)坐标.虽然这项技能本身并不有用,但它通常被用作 ...
- imutils基础(7)使用 OpenCV 查找轮廓中的极值点
今天,我将使用 OpenCV 和 Python 根据轮廓查找极值点. 在本博客的其余部分,我将演示如何根据轮廓找到极北.极南.极东和极西 (x, y) 坐标,如本博文顶部的图像所示. 虽然这项技能本身 ...
- 使用Python和OpenCV对轮廓进行排序(从左到右,自上而下)
使用Python和OpenCV对轮廓进行排序(从左到右,自上而下) 1. 效果图 2. 原理 3. 源码 参考 使用轮廓来构建移动文档扫描仪. 使用轮廓来检测图像中的条形码. 利用轮廓来找到从相机到物 ...
- Python,OpenCV应用轮廓逼近算法,检测对象的形状
上一篇博客,我们学习了如何利用Python.OpenCV计算轮廓的中心,这一节学习仅运用轮廓的基本属性来检测其形状,三角形,正方形,矩形,五边形,圆. (1)利用轮廓逼近,将曲线上的点数减少为更简单的 ...
- 使用Python、OpenCV计算轮廓的中心
1. 使用Python.OpenCV计算轮廓的中心并标记 2. 使用Python.OpenCV检测轮廓的形状并标记 3. 使用颜色通道统计信息来标记形状的实际颜色并标记 本博客的目标:(1)检测图像中 ...
- 《OpenCv视觉之眼》Python图像处理十二 :Opencv图像轮廓提取之基于一阶导数的Roberts算法、Prewitt算法及Sobel算法
本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...
- 《OpenCv视觉之眼》Python图像处理十四 :Opencv图像轮廓提取之Scharr算法和Canny算法
本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...
- OpenCV Python在计算机视觉中的应用
OpenCV Python教程 在这篇文章中,我们将使用Python中的OpenCv来涵盖计算机视觉的各个方面.OpenCV长期以来一直是软件开发的重要组成部分. 什么是计算机视觉? 我们考虑一个场景 ...
- 如何利用OpenCV寻找轮廓的中心?
简 介: 本文介绍了利用OpenCV和Python编程来计算形状轮廓的中心点.当然后面还会继续给出如何通过轮廓来分辨物体形状种类,以及对于各自的颜色进行标准. 关键词: OpenCV,contours ...
最新文章
- 阿里平头哥首款CPU芯片发布!5nm倚天710,128核单片600亿晶体管,无人能与争锋...
- 我在大学毕业后学习Linux、python的一些经验
- mysql1.8找回密码_PHP+Mysql+jQuery找回密码
- 左神算法课笔记(一):时间复杂度、排序、对数器、二分法、异或运算
- HDU(1572),最短路,DFS
- .NET6之MiniAPI(八):日志
- 开始投靠C#,入门版(一)
- bootstrap inputfile.js
- 支付宝小程序中“”号写法
- 【零基础学Java】—继承父类并实现多个接口(二十五)
- python fread_fwrite 和 fread函数的用法小结
- 射频识别(RFID)
- 黑苹果系统_黑苹果系统的安装(实例一)
- 1193 Eason
- 理解 Joomla 的几个概念 - 读《Aprees.Begging.Joomla.From.Novice.to.Professional》
- 使用exe4j打包exe文件
- Winform(C#) 国内开源美化控件主题库2:花木兰控件库
- [家里蹲大学数学杂志]第297期丘成桐大学生数学竞赛2014年分析与方程个人赛试题...
- Python文件类型识别——python-magic
- 2019届互联网校招薪资报告
热门文章
- 集中隔离第3天(其实说的都是前2天的事) 2022.2.27
- SPI和IIC异同点
- UML需求分析步骤实例解析
- Frenet坐标系与Cartesian坐标系互转(二):Python代码函数实现
- 【Markdown Pad 2常见问题3】Markdown Pad 2插入本土图片无法显示
- 一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?
- 深度学习-fashion_mnist预测
- 设置日语输入法遇到的各种问题
- MBA明年学费酝酿大涨 涨价幅度可能高达50%
- 解决AppUpdate不能使用的问题