I tried to find contour with cv2 python library in a skeletonized image created with scikit-image and i got this error:
contours, hierarchy = cv2.findContours(skel,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) TypeError: <unknown> data type = 0 is not supported
My question is: What i have to do to convert to cv2 and viceversa?
I know that opencv use numpy.uint8 type to represent binary images instead scikit-image numpy.float64
I used also mahotas (numpy.bool) and pymorph libraries. How can i convert from scikit-image to these libraries and viceversa?
scikit-image provides conversion routines between the different data-types that also correctly preserves scaling:
from skimage import img_as_ubyte cv_image = img_as_ubyte(any_skimage_image)
Update: the scikit-image user guide now has a more detailed section on this: http://scikit-image.org/docs/stable/user_guide/data_types.html#working-with-opencv