opencv使用 findContours

http://www.jb51.net/article/132217.htm

https://www.jianshu.com/p/4bc3349b4611

 

 

https://blog.csdn.net/sunny2038/article/details/12889059使用这个代码就可以直接使用

 

https://blog.csdn.net/sunny2038/article/details/12889059

https://docs.opencv.org/2.4/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=findcontours#findcontours

这两个是讲解的博客

输入给opencv的是灰度图,并且是一个经过处理的二值化的灰度图,EXTERNAL这种mode更适合我想要的得到外部轮廓

 

opencv的threshold函数是阈值处理函数,返回的第二个参数就是处理后的图像,127就是阈值

https://blog.csdn.net/on2way/article/details/46812121

https://blog.csdn.net/guduruyu/article/details/68059450

 

代码:

import cv2  
  
img = cv2.imread('/home/sensetime/edgeBoxes-Cpp-version/output/img/000021_10.png')  
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)  
ret, binary = cv2.threshold(gray,127,255,cv2.THRESH_BINARY)  
contours, hierarchy = cv2.findContours(binary,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE) 
print len(contours) 
cv2.drawContours(img,contours,-1,(0,0,255),3)  
cv2.imwrite("EXTERNAL.png",img)  
cv2.imshow("img", img)  
cv2.waitKey(0)

 

posted @ 2018-05-21 11:25  有梦就要去实现他  阅读(414)  评论(0编辑  收藏  举报