使用OpenCV 3.0.0-dev读取灰度图像

67 投票
3 回答
160357 浏览
提问于 2025-04-18 04:34

我想直接以黑白的方式读取图片。

最近我把我的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_ 开头,等等。

撰写回答