模块'cv2.cv2'没有属性'COLOR_BGR2GREY'

时间:2019-02-20 22:57:56

标签: python image cv2

运行脚本时出现以下错误:

Traceback (most recent call last):
File "C:/PyCharm/SDC_1/Lane_Finding.py", line 3, in <module>
grey = cv.cvtColor(image, cv.COLOR_BGR2GREY)
AttributeError: module 'cv2.cv2' has no attribute 'COLOR_BGR2GREY'

脚本:

1: import cv2 as cv 

2: image = cv.imread('solidWhiteRight.jpg')

3: grey = cv.cvtColor(image, cv.COLOR_BGR2GREY)

我在虚拟环境中当前仅安装了“ opencv-contrib-python”软件包,因为我看到这是一个存在类似问题的问题。我是否需要同时安装另一个软件包?我能够打印图像变量,并得到一个值矩阵。

在此方面的任何帮助将不胜感激,并在此先感谢!

更新:

当我写入并保存图像时,该图像会返回为灰度图像。但是,当我使用matplotlib.pylot显示它时,它将图像转换为彩色图像。有人知道为什么会这样吗?

代码:

import cv2 as cv
import matplotlib.pyplot as plt
path = 'solidWhiteRight.jpg'
image = cv.imread(path)
gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
cv.imwrite('grey_image.jpg', gray)
plt.imshow(gray)
plt.show()

Result of plt.show:

1 个答案:

答案 0 :(得分:0)

在pyplot中显示灰度图像时,需要提供颜色图。您可以尝试

plt.imshow(gray, cmap='gray')