如何将图像从scikit-image转换为opencv2和其他库?

python opencv image-processing contour scikit-image

6724 观看

2回复

135 作者的声誉

我试图用scikit-image创建的骨架图像中的cv2 python库找到轮廓,我得到了这个错误:

    contours, hierarchy = cv2.findContours(skel,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
TypeError: <unknown> data type = 0 is not supported

我的问题是:我需要做什么才能转换为cv2和反之?

我知道opencv使用numpy.uint8类型来表示二进制图像而不是scikit-image numpy.float64

我还使用了mahotas(numpy.bool)和pymorph库。我如何从scikit-image转换为这些库,反之亦然?

作者: improc 的来源 发布者: 2013 年 4 月 22 日

回应 (2)


14

5090 作者的声誉

scikit-image 提供不同数据类型之间的转换例程,这些例程也正确地保留了缩放:

from skimage import img_as_ubyte

cv_image = img_as_ubyte(any_skimage_image)

更新:scikit-image用户指南现在有一个更详细的部分:http//scikit-image.org/docs/stable/user_guide/data_types.html#working-with-opencv

作者: Stefan van der Walt 发布者: 23.04.2013 11:22

0

29 作者的声誉

这对我有用

image = skimage.io.imread(mpath)
img = image[:, :, ::-1] # convert image from RGB (skimage) to BGR (opencv)
cv2.namedWindow('original', cv2.WINDOW_NORMAL)
cv2.imshow('original',img)

谢谢整洁

作者: user3458105 发布者: 25.11.2018 09:19
32x32