OpenCV Python を使用した 2D 画像の深度エラー 質問する

OpenCV Python を使用した 2D 画像の深度エラー 質問する

私は、OpenCV と Python を使用して、画像 (ndarray) 内の Canny Edges を計算しようとしています。

slice1 = slices[15,:,:]
slice1 = slice1[40:80,60:100]
print slice1.shape
print slice1.dtype
slicecanny = cv2.Canny(slice1, 1, 100)

出力:

(40, 40)
float64
...
error: /Users/jmerkow/code/opencv-2.4.6.1/modules/imgproc/src/canny.cpp:49: 
error: (-215) src.depth() == CV_8U in function Canny

何らかの理由で上記のエラーが発生します。理由について何か考えはありますか?

ベストアンサー1

Slice1 は uint8 としてキャストまたは作成する必要があります。CV_8U はデータ型 uint8 の別名です。

import numpy as np
slice1Copy = np.uint8(slice1)
slicecanny = cv2.Canny(slice1Copy,1,100)

おすすめ記事