OpenCV gaussianblur делает изображение незакрашенным

Я применяю GaussianBlur OpenCV на изображение. Результирующее изображение выглядит недостаточно цветов оригинального изображения.

Мой код:

originalImage = cv2.imread('path to original image',0)
blurredImage = cv2.GaussianBlur(originalImage,(15,15),0)
cv2.imwrite('path to save the new image', blurredImage)

Исходное изображение: Новое изображение: Это правильное поведение? Я хочу сохранить детали цвета.

1 ответ

Решение

Проблема в том, что строка читает изображение как:

originalImage = cv2.imread('path to original image',0)

Парам 0 в cv2.imread() указывает библиотеке на чтение изображения в градациях серого независимо от исходной конфигурации изображения. Чтобы это исправить вы можете позвонить cv2.imread() без параметров как:

originalImage = cv2.imread('path to original image')

Эта команда инструктирует библиотеку читать изображение в BGR конфигурации.

Но если вы хотите прочитать изображение в том же формате, в каком оно есть, вам может потребоваться позвонить:

originalImage = cv2.imread('path to original image', -1)

Вы можете обратиться к cv2.imread() документы для получения дополнительной информации.

Другие вопросы по тегам