How can i convert images from scikit-image to opencv2 and other libraries?


Question

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?

1
10
4/22/2013 11:00:15 PM

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

15
7/20/2017 4:58:35 PM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon