BOOST :: Gil для обработки изображений

Можно ли:

считывание изображения, заданного только именем файла (не зная формат изображения), в несжатую форму 2D-матрицы RGB (например, чтение JPG в массив 2D)
получить доступ к байтам этого изображения, скопировать их, изменить их … (например, инвертировать цвета, мне нужен указатель на байты изображения, сеттеры / геттеры не подойдут)

rgb8_image_t img;
jpeg_read_image ("lena.jpg",img);

Я использую их, чтобы загрузить изображение. Теперь, как мне получить доступ к пикселям или байтам этого изображения?

1

Решение

Вот пример, который устанавливает компонент G всех пикселей на 128

rgb8_image_t img;
const rgb8_view_t & mViewer = view(img);
for (int y = 0; y < mViewer.height; ++y)
{
rgb8_view_t::x_iterator trIt = mViewer.row_begin(y);
for (int x = 0; x < mViewer.width; ++x)
at_c<1>(trIt[x]) = 128;
}
1

Другие решения