cv2.cvtcolor bgr2gray, кажется, получить изображение ошибки - PullRequest
0 голосов
/ 28 августа 2018

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

импорт cv2 импортировать matplotlib.pyplot как plt импортировать NumPy как NP импортировать matplotlib.image как mpimg img = cv2.imread ('calib_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

the original image i used

the ugly outcome

1 Ответ

0 голосов
/ 28 августа 2018

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

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

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

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

...