cv2.cvtcolor bgr2gray, кажется, получить изображение ошибки

1

# код выглядит следующим образом, но результат, возможно, неправильный, это не оттенки серого, которые я хотел, кто-то поможет мне с этим, это кажется довольно простым, но я просто не знаю, что неправильно

import cv2 import matplotlib.pyplot как plt import numpy как np import matplotlib.image как mpimg img = cv2.imread('calibration_test.png')

# i want simply convert the rgb image to grayscale and then print it out
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
plt.imshow(gray)
print(gray.shape)
# but the outcome is a colorful image

Изображение 174551

Изображение 174551

Теги:
cv2
bgr

1 ответ

2

Преобразование в оттенках серого было выполнено правильно. Проблема заключается в том, как вы показываете изображение. Попробуй это:

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

По умолчанию imshow добавляет собственный цветной ключ к одноканальным изображениям, чтобы упростить просмотр. Типичным примером являются теплые изображения, которые обычно показывают синий и красный цвета, но все цвета зависят только от одного канала.

Надеюсь это поможет!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню