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 轮廓的极值点相关推荐

  1. 使用Python,OpenCV沿着轮廓寻找极值点

    使用Python,OpenCV沿着轮廓寻找极值点 这篇博客将介绍如何使用Python,OpenCV沿着轮廓寻找极值点,找到最北.最南.最东和最西(x,y)坐标.虽然这项技能本身并不有用,但它通常被用作 ...

  2. imutils基础(7)使用 OpenCV 查找轮廓中的极值点

    今天,我将使用 OpenCV 和 Python 根据轮廓查找极值点. 在本博客的其余部分,我将演示如何根据轮廓找到极北.极南.极东和极西 (x, y) 坐标,如本博文顶部的图像所示. 虽然这项技能本身 ...

  3. 使用Python和OpenCV对轮廓进行排序(从左到右,自上而下)

    使用Python和OpenCV对轮廓进行排序(从左到右,自上而下) 1. 效果图 2. 原理 3. 源码 参考 使用轮廓来构建移动文档扫描仪. 使用轮廓来检测图像中的条形码. 利用轮廓来找到从相机到物 ...

  4. Python,OpenCV应用轮廓逼近算法,检测对象的形状

    上一篇博客,我们学习了如何利用Python.OpenCV计算轮廓的中心,这一节学习仅运用轮廓的基本属性来检测其形状,三角形,正方形,矩形,五边形,圆. (1)利用轮廓逼近,将曲线上的点数减少为更简单的 ...

  5. 使用Python、OpenCV计算轮廓的中心

    1. 使用Python.OpenCV计算轮廓的中心并标记 2. 使用Python.OpenCV检测轮廓的形状并标记 3. 使用颜色通道统计信息来标记形状的实际颜色并标记 本博客的目标:(1)检测图像中 ...

  6. 《OpenCv视觉之眼》Python图像处理十二 :Opencv图像轮廓提取之基于一阶导数的Roberts算法、Prewitt算法及Sobel算法

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  7. 《OpenCv视觉之眼》Python图像处理十四 :Opencv图像轮廓提取之Scharr算法和Canny算法

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  8. OpenCV Python在计算机视觉中的应用

    OpenCV Python教程 在这篇文章中,我们将使用Python中的OpenCv来涵盖计算机视觉的各个方面.OpenCV长期以来一直是软件开发的重要组成部分. 什么是计算机视觉? 我们考虑一个场景 ...

  9. 如何利用OpenCV寻找轮廓的中心?

    简 介: 本文介绍了利用OpenCV和Python编程来计算形状轮廓的中心点.当然后面还会继续给出如何通过轮廓来分辨物体形状种类,以及对于各自的颜色进行标准. 关键词: OpenCV,contours ...

最新文章

  1. 阿里平头哥首款CPU芯片发布!5nm倚天710,128核单片600亿晶体管,无人能与争锋...
  2. 我在大学毕业后学习Linux、python的一些经验
  3. mysql1.8找回密码_PHP+Mysql+jQuery找回密码
  4. 左神算法课笔记(一):时间复杂度、排序、对数器、二分法、异或运算
  5. HDU(1572),最短路,DFS
  6. .NET6之MiniAPI(八):日志
  7. 开始投靠C#,入门版(一)
  8. bootstrap inputfile.js
  9. 支付宝小程序中“”号写法
  10. 【零基础学Java】—继承父类并实现多个接口(二十五)
  11. python fread_fwrite 和 fread函数的用法小结
  12. 射频识别(RFID)
  13. 黑苹果系统_黑苹果系统的安装(实例一)
  14. 1193 Eason
  15. 理解 Joomla 的几个概念 - 读《Aprees.Begging.Joomla.From.Novice.to.Professional》
  16. 使用exe4j打包exe文件
  17. Winform(C#) 国内开源美化控件主题库2:花木兰控件库
  18. [家里蹲大学数学杂志]第297期丘成桐大学生数学竞赛2014年分析与方程个人赛试题...
  19. Python文件类型识别——python-magic
  20. 2019届互联网校招薪资报告

热门文章

  1. 集中隔离第3天(其实说的都是前2天的事) 2022.2.27
  2. SPI和IIC异同点
  3. UML需求分析步骤实例解析
  4. Frenet坐标系与Cartesian坐标系互转(二):Python代码函数实现
  5. 【Markdown Pad 2常见问题3】Markdown Pad 2插入本土图片无法显示
  6. 一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?
  7. 深度学习-fashion_mnist预测
  8. 设置日语输入法遇到的各种问题
  9. MBA明年学费酝酿大涨 涨价幅度可能高达50%
  10. 解决AppUpdate不能使用的问题