OpenCV를 사용하여 이미지 (ndarray)에서 Canny Edges를 계산하려고합니다.OpenCV Python에서 2D 이미지의 심도 오류
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
나는 위의 오류가 발생합니다. 어떤 아이디어?
당신은 (OpenCV의이 Filter2D를 사용하는 경우) 부동 소수점 데이터의 입력을 요구 가우스 필터링을 할 영리한 이후 (CV_32F)를 떠 데이터 형식을 변환해야 할 수도 있습니다. – jgmao
나는 float32와 정수로 변환하려고했으나 운이 아니었다. 나는 또한 시도 : slice2 = cv2.GaussianBlur (slice1, (5,5), 1) slicecanny = cv2.Canny (slice2,1,100) – jmerkow
오류 출력 : 오류 : (-215) src.depth() == CV_8U는 Canny의 기능입니다. 나는 잘못된 방향으로 완전 해졌을 수도 있습니다. 입력으로 CV_8U로 변환하려고 했습니까 (정수가 UInt8이 아니기 때문에 정수가 아님). – jgmao