Как превратить картинку в черно-белую в Qt?

Рейтинг: 1Ответов: 1Опубликовано: 19.11.2014

Здравствуйте!

Интересует вопрос, как сделать следующее:

Имеется цветная картинка в формате jpeg/png. Нужно написать программу, которая могла бы сделать из нее черно-белую и где-нибудь сохранить этот результат.
Все это нужно реализовать на C++ средствами Qt.

Ответы

▲ 3Принят

Библиотека QT служит для построения графических интерфейсов, а не для манипулирования изображениями на низком уровне. Для преобразования цветной картинки в черно-белую надо использовать специальные алгоритмы или библиотеки.

Библиотеки можете сами посмотреть в интернете, что же касается алгоритмов:

Seven grayscale conversion algorithms

Меня в свое время устраивал простой luminance:

Gray = (Red * 0.3 + Green * 0.59 + Blue * 0.11)

То есть берете свое изображение с помощью того же QImage, вытаскиваете из него массив пикселей RGB и прогоняете каждый формулой (умножаете составляющие на коэффициенты). В итоге получается ЧБ изображение, с которым можно вести дальнейшую работу.