私はこのdtype問題を見つけ出し、いくつかの場合に役立つことを願っています。opencv cvtColor dtype問題(エラー:(-215))
img = cv2.imread("img.jpg"), 0)
imgColor=cv2.cvtColor(img , cv2.COLOR_GRAY2BGR)
をしかし、時にはあなたが最初の画像正規化してもよい:
img = cv2.imread("img.jpg"), 0)/255.
imgColor=cv2.cvtColor(img , cv2.COLOR_GRAY2BGR)
それは、このエラーになります:
に動作します。このようなerror: (-215) depth == CV_8U || depth == CV_16U || depth == CV_32F in function >cv::cvtColor
通常、我々は変換します色、
ポイントは前者の例ではdtypeはuint8ですが、後者ではfloat64です。 1行追加し、これを修正するには:
img = cv2.imread("img.jpg"), 0)/255.
img=img.astype(numpy.float32)
imgColor=cv2.cvtColor(img , cv2.COLOR_GRAY2BGR)
これは、OpenCVではなく、除算によるnumpyの動作に固有の質問です。 – Miki