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

2025-05-23 19:13:27

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 cv2im = 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)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢