使用OpenCV 3.0.0-dev读取灰度图像
我想直接以黑白的方式读取图片。
最近我把我的OpenCv版本更新到了3.0.0-dev,但之前用的代码现在不管用了。
img = cv2.imread(f, cv2.CV_LOAD_IMAGE_GRAYSCALE)
在2.4版本下运行得很好,但在新版本中就不行了,因为没有了CV_LOAD_IMAGE_GRAYSCALE
这个选项。
有没有什么建议呢?
备注:我知道cv2.imread(f,0)
可以用,但我不喜欢在代码里使用没有名字的常量。谢谢!
3 个回答
2
试试这个,每次对我都有效。
import cv2
gray_img = cv2.imread('img.png', 0)
cv2.imshow(gray_img)
35
试试这个,对我有效
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)
105
这个标志已经改名为 cv2.IMREAD_GRAYSCALE
。一般来说,现在的标志名称都以一种和它们所对应的功能相关的方式来命名。比如说,imread
的标志都是以 IMREAD_
开头的,而 cvtColor
的标志则是以 COLOR_
开头,等等。