Python ile OpenCV kullanarak Canny Kenarlarını bir görüntüde (ndarray) hesaplamaya çalışıyorum.OpenCV Python ile 2 boyutlu görüntüde derinlik hatası Python
slice1 = slices[15,:,:]
slice1 = slice1[40:80,60:100]
print slice1.shape
print slice1.dtype
slicecanny = cv2.Canny(slice1, 1, 100)
Çıktı: Nedense
(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
Yukarıda hatası alıyorum. Herhangi bir fikir neden?
sen (OpenCV Filter2D kullanırsanız) şamandıra veri girişi gerektirir Gauss filtreleme yapmak açıkgöz beri (CV_32F) yüzer veri türüne dönüştürmek gerekebilir. – jgmao
Float32'ye ve tamsayıya çevirmeyi denedim, şans değil. Ayrıca denedim: slice2 = cv2.GaussianBlur (slice1, (5,5), 1) slicecanny = cv2.Canny (slice2,1,100) – jmerkow
Hata çıkışınızda: error: (-215) src.depth() == CV_8U işlevi Canny. Yanlış yönde tamamlanmış olabilirim. Giriş olarak CV_8U'ya dönüştürmeyi denediniz mi (tamsayı değil, tamsayı UInt8 değil). – jgmao