12

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 は、scikit-image numpy.float64 の代わりに numpy.uint8 型を使用してバイナリ イメージを表すことを知っています。

mahotas (numpy.bool) と pymorph ライブラリも使用しました。scikit-image からこれらのライブラリに、またはその逆に変換するにはどうすればよいですか?

4

2 に答える 2

19

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

于 2013-04-23T11:22:17.503 に答える