首页 > 其他 > 详细

OpenCV -- 找图片轮廓

时间:2014-06-22 09:50:15      阅读:945      评论:0      收藏:0      [点我收藏+]


bubuko.com,布布扣

import cv2
img = cv2.imread( 'E:\A.jpeg' )
cv2.imshow( 'img', img )

gray = cv2.cvtColor( img, cv2.COLOR_BGR2GRAY )
ret, binary = cv2.threshold( gray, 127, 255, cv2.THRESH_BINARY )

contours, hierarchy = cv2.findContours( binary, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE )
cv2.drawContours( img, contours, -1, ( 160, 240, 120 ), 3 )

cv2.imshow( 'img1', img )
cv2.waitKey( 0 )
cv2.destroyAllWindows()


cv2.findContours()函数:

参数:

参1(是寻找轮廓的图像)

参2(表示轮廓的检索模式)有四种:

(1).cv2.RETR_EXTERNAL 只检测外轮廓

(2).cv2.RETR_LIST 检测的轮廓不建立等级关系

(3).cv2.RETR_CCOMP 建立两个等级的轮廓,

上面的一层为外边界,

里面的一层为内孔的边界信息。

如果内孔内还有一个连通物体,

这个物体的边界也在顶层

(4).cv2.RETR_TREE 建立一个等级树结构的轮廓


参3(method为轮廓的近似办法):

(1)cv2.CHAIN_APPROX_NONE 存储所有的轮廓点,

相邻的两个点的像素位置差不超过1,

即max(abs(x1-x2),abs(y2-y1))==1

(2).cv2.CHAIN_APPROX_SIMPLE 压缩水平方向,

垂直方向,对角线方向的元素,

只保留该方向的终点坐标,

例如一个矩形轮廓只需4个点来保存轮廓信息

(3).cv2.CHAIN_APPROX_TC89_L1,CV_CHAIN_APPROX_TC89_KCOS

使用teh-Chinl chain 近似算法


返回值:
值1:
是轮廓本身,
值2:

每条轮廓对应的属性。




OpenCV -- 找图片轮廓,布布扣,bubuko.com

OpenCV -- 找图片轮廓

原文:http://blog.csdn.net/pandora_madara/article/details/33081553

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!