2014-04-28 4 views
16

이미지를 흑백으로 직접 읽으려고합니다.이미지 그레이 스케일 읽기 opencv 3.0.0-dev

최근에 내 OpenCv 버전을 3.0.0-dev로 업데이트했고 이전에 사용했던 코드가 더 이상 작동하지 않습니다. 더 필드 CV_LOAD_IMAGE_GRAYSCALE 없기 때문에, 2.4에 대해 잘 작동하지만 새 버전이 작동하지 않습니다

img = cv2.imread(f, cv2.CV_LOAD_IMAGE_GRAYSCALE) 
.

제안 사항?

참고 : cv2.imread(f,0)이 작동하지만 내 코드에 이름없는 상수가있는 것을 좋아하지 않습니다. 감사합니다.

+1

당신이'cv2.LOAD_IMAGE_GRAYSCALE'을 시도 않았다 시도 (예를 들어, imread 플래그 등 cvtColor 플래그 COLOR_ 시작, IMREAD_ 시작)? 나는 모든 CV_가 이름이 바뀐 것 같아 – Micka

+0

나는 거기에서 시험했다. – elaRosca

답변

21

플래그의 이름이 cv2.IMREAD_GRAYSCALE으로 바뀌 었습니다. 일반적으로 플래그는 이제 참조하는 함수와 관련된 방식으로 접두사가 붙습니다.

+0

굉장합니다. 설명 주셔서 감사합니다, 아마도뿐만 아니라 미래에 도움이됩니다. – elaRosca

+0

이에 따라 문서를 업데이트해야합니다. http://docs.opencv.org/trunk/modules/imgcodecs/doc/reading_and_writing_images.html?highlight=imread#Mat imread (const String & filename, int flags) –

6

은 나를 위해 작동이

import cv2 
im_gray = cv2.imread('gray_image.png', cv2.IMREAD_GRAYSCALE) 
thresh = 127 
im_bw = cv2.threshold(im_gray, thresh, 255, cv2.THRESH_BINARY)[1] 
cv2.imwrite('blackwhite.png', im_bw)