С++ читать пиксели изображения

Я хочу, чтобы код С++ считывал каждый пиксель из файла изображения. и я хочу сохранить пиксели, например: r[] g[] b[]

кто-нибудь знает, как это сделать?


person stefan    schedule 29.04.2010    source источник
comment
Это зависит от. Какой файл изображения?   -  person Greg Hewgill    schedule 29.04.2010


Ответы (4)


Ответ зависит от формата файла изображения. Это формат, содержащий необработанные данные RGB (например, несжатый TGA)? Это изображение YUV? Это сжатое изображение, такое как JPEG или PNG?

Уже существует множество библиотек C++, которые могут считывать самые разные форматы файлов изображений, а затем предоставлять требуемый доступ на уровне пикселей. Взгляните на GIL от Adobe или CImg.

person Gareth Stockwell    schedule 29.04.2010
comment
@Paul, добавлены ссылки на некоторые библиотеки, которые могут делать то, что требует OP - я думаю, что теперь это можно считать ответом. - person Gareth Stockwell; 29.04.2010

Существует множество свободно доступных библиотек для чтения различных форматов файлов изображений. Поскольку вы используете C++, возможно, вы захотите взглянуть на Generic Image Library от Adobe. (GIL) или даже OpenCV.

person Paul R    schedule 29.04.2010

Это поможет вам разобраться, очень простая в использовании и «низкоуровневая» библиотека изображений: http://easybmp.sourceforge.net/

person zaf    schedule 29.04.2010

Две библиотеки, которые я использовал, это переход на ум:

Эти библиотеки могут работать с широким спектром форматов изображений, в зависимости от того, что вам нужно.

person Greg Hewgill    schedule 29.04.2010