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

353
15 декабря 2016, 16:15

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

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

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

Answer 1

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

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

Seven grayscale conversion algorithms

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

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

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

Answer 2

QImage, вероятно, то, что вам нужно.

READ ALSO
Как распознать изображение средствами Qt?

Как распознать изображение средствами Qt?

Здравствуйте все, кто читает это! Интересует такой вопрос: Как разбить изображение на пиксели и обработать каждый из них? Или как получить...

345
Действия с вектором

Действия с вектором

Доброго времени суток

167
Как передать в функцию вектор?

Как передать в функцию вектор?

Вот попытался передать у функцию вектор - код не работает

289
Отсутствует MSVCP110.dll

Отсутствует MSVCP110.dll

Как создатьexe файл так, чтобы он содержал в себе все нужные для его работы библиотеки?

304