модуль 'cv2.cv2' не имеет атрибута 'COLOR_BGR2GREY' - PullRequest
0 голосов
/ 21 февраля 2019

Я получаю следующую ошибку при запуске моего скрипта:

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()

Результат plt.show:

1 Ответ

0 голосов
/ 21 февраля 2019

При отображении изображения в градациях серого в pyplot вам необходимо предоставить цветную карту.В вашем случае попробуйте

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