cv2.cvtcolor bgr2gray, кажется, получить изображение ошибки
# код выглядит следующим образом, реализован, но результат, возможно, неправильный, это не та шкала серого, которую я хотел, кто-то поможет мне в этом, это кажется довольно простым, но я просто не знаю, что не так
импорт 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
1 ответ
Преобразование оттенков серого было сделано правильно. Проблема в том, как вы отображаете изображение. Попробуй это:
plt.imshow(gray, cmap='gray')
По умолчанию imshow
добавляет свой собственный цветовой ключ к одноканальным изображениям, чтобы его было легче просматривать. Типичным примером являются тепловые изображения, которые обычно показывают синий и красный, но все цвета зависят только от одного канала.
Надеюсь это поможет!