Today I will show something nice about OpenCV Analysis and Shape Descriptors.
This function finds contours in a binary image.
All detected contours is stored as a vector of points for each contour.
#!/usr/bin/python2.7
import cv2
im = cv2.imread('your_image.jpg')
img_gray = cv2.cvtColor(im,cv2.COLOR_RGB2GRAY)
ret,thresh = cv2.threshold(img_gray,127,255,0)
contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(im,contours,-1,(250,250,250),2)
cv2.imshow('your_image.jpg',im)
cv2.waitKey()
cv2.destroyAllWindows()
If you got this error:
findContours error 'support only 8uC1 images'
then the main reason it's findContours requires a monochrome image.
Let's see the result of the python script.
The contour it's draw with 250,250,250 color.