OpenCV 2の場合、IPythonはデフォルトでNumPy配列を使用するようになりました。NumPy配列をcvMatに変換する
cvimage = cv2.imread("image.png") #using OpenCV 2
type(cvimage)
Out: numpy.ndarray #dtype is uint8
pltimage = plt.imread("image.png") #using Matplotlib
type(pltimage)
Out: numpy.ndarray #dtype is float
plt.imshow(cvimage) # works great
cv2.imshow(cvimage)
TypeError: Required argument 'mat' (pos 2) not found
cv2
は、デフォルトでnumpyのアレイを使用するので、任意のCVはもはや存在しない::マットコンストラクタとnumpyのは、cv::Mat
配列に変換するためのいかなる機能を有していません。
アイデア?
はい、これは既に回答済みです。しかし、私は別の問題でここに来た:すべての 'numpy.ndarray'タイプの' uint8'を表示することはできません。私は 'red = frame [:、:、0]'のような画像の単一のチャンネルを得るためにスライスを作成し、 'imshow'で例外を得ました。私は希薄さのためだと思う。 'red = frame [:、:、0] .copy()'これを修正しました。 –