我试图直接将图像读成黑白。
我最近将我的OpenCv版本更新为3.0.0-dev,我之前使用的代码不再适用。
img = cv2.imread(f, cv2.CV_LOAD_IMAGE_GRAYSCALE)
适用于2.4,但不适用于新版本,因为没有字段CV_LOAD_IMAGE_GRAYSCALE
。
有什么建议吗?
注意:我知道cv2.imread(f,0)
会起作用,但我不喜欢在我的代码中使用未命名的常量。
谢谢!
答案 0 :(得分:37)
该标志已重命名为cv2.IMREAD_GRAYSCALE
。一般而言,标志现在具有以与它们所引用的功能相关的方式作为前缀的名称。 (例如imread
标记以IMREAD_
开头,cvtColor
标记以COLOR_
开头,等等。)
答案 1 :(得分:11)
试试这个对我有用
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)
答案 2 :(得分:-1)
尝试一下,它每次都对我有用
import cv2
gray_img = cv2.imread('img.png', 0)
cv2.imshow(gray_img)