怎么使用opencv里面的轮廓函数(python)?

 时间:2026-02-16 11:10:29

1、把图片转为灰度图:

g = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

怎么使用opencv里面的轮廓函数(python)?

2、把灰度图二值化:

ret,g= cv2.threshold(g,200,255,0)

怎么使用opencv里面的轮廓函数(python)?

3、查看轮廓:

a,b,c = cv2.findContours(g,cv2.RETR_TREE,

                         cv2.CHAIN_APPROX_SIMPLE)

a是轮廓图;

b是轮廓边界的坐标(把曲线视为一组折线段)。

怎么使用opencv里面的轮廓函数(python)?

4、c不知道是什么。

怎么使用opencv里面的轮廓函数(python)?

5、绘制轮廓:

i = cv2.drawContours(im,b, -1, (255,0,0),1)

怎么使用opencv里面的轮廓函数(python)?

6、图片的矩:

cnt = b[0]

M = cv2.moments(cnt)

print(M)

M是一个字典。

怎么使用opencv里面的轮廓函数(python)?

7、用图片的矩,可以计算出轮廓的重心:

cx = int(M['m10']/M['m00'])

cy = int(M['m01']/M['m00'])

怎么使用opencv里面的轮廓函数(python)?

8、计算轮廓的面积:

area = cv2.contourArea(cnt)

也可以在轮廓的矩里面找:

area = M['m00']

怎么使用opencv里面的轮廓函数(python)?

怎么使用opencv里面的轮廓函数(python)?

9、计算轮廓周长:

l = cv2.arcLength(cnt,True)

怎么使用opencv里面的轮廓函数(python)?

10、绘制轮廓的凸包:

import cv2

im = cv2.imread('a.jpg')

g = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)

ret,g= cv2.threshold(g,200,255,0)

a,b,c = cv2.findContours(255-g,cv2.RETR_TREE,

                         cv2.CHAIN_APPROX_NONE)

hull = cv2.convexHull(cnt)

t = cv2.cvtColor(a, cv2.COLOR_GRAY2BGR)

i = cv2.polylines(im, [hull], True, (255, 0, 0), 2)

怎么使用opencv里面的轮廓函数(python)?

  • PyCharm下如何打包程序成exe?可执行文件
  • python Syntax Error: invalid syntax 怎么解决
  • pycharm如何下载第三方库
  • 在Visual Studio2019中使用汇编语言编写程序
  • pycharm无法右键运行run python文件怎么办
  • 热门搜索
    旅游作文300字 徐州的旅游景点 张家界旅游攻略地图 大堡礁旅游攻略 浙江桐庐旅游 新星小学的学生去旅游 广西旅游超市 济南红叶谷旅游攻略 四川旅游政务网官网 旅游新时空