web-dev-qa-db-ja.com

Python Opencvの形態学的クロージングは​​srcデータ型を与えます= 0はサポートされていません

関数SE3 = skimage.morphology.ball(8)によって作成されたボール構造要素を使用してボリュームを形態学的に閉じようとしています。 closing = cv2.morphologyEx(volume_start, cv2.MORPH_CLOSE, SE)を使用すると、TypeErrorが返されます。srcデータ型= 0はサポートされていませんこの問題を解決する方法を知っていますか?ありがとうございました

8
David

_volume_start_が_dtype=uint8_であることを確認してください。 volume_start = np.array(volume_start, dtype=np.uint8)で変換できます。

またはより良い:volume_start = volume_start.astype(np.uint8)

9
Daniel Azemar

次のように(0から255の値のグレースケール画像から)2値化した2値化画像でerode関数を呼び出しているときに、同じエラーが発生しました。

bin_img = grayscale_img > 125

>オペレーターはタイプを「飲み込んだ」か、openCVのコードのタイプに変更しました0

I solved次のように2値化を実行します。

ret, bin_img = cv2.threshold(grayscale, 125, 255, cv2.THRESH_BINARY)

retはしきい値(この場合は125)であり、bin_imgは結果のバイナリイメージです。

0
Casper