Я пытаюсь написать простую программу, которая будет читать PNG-изображения в градациях серого с использованием библиотеки ввода-вывода GIL Image от Boost, а затем получать информацию о каждом пикселе. Я скачал и распаковал libpng и zlib, включил их в мой make-файл и связал их.
При попытке выполнить следующий код:
#include <boost/gil/gil_all.hpp>
#include <boost/gil/extension/io/png_dynamic_io.hpp>
#include <iostream>
int main()
{
using std::cout;
using std::endl;
boost::gil::gray16_image_t image;
cout << "TEST";
boost::gil::png_read_and_convert_image("png16_example.png", image);
cout << "test";
return 0;
}
Ни одно из «тестовых» операторов печати не работает. На самом деле ничего не происходит вообще. Я закомментировал строку:
boost::gil::png_read_and_convert_image("png16_example.png", image);
И снова работает нормально. Я не уверен, что я делаю неправильно, так как кажется, что я включил и связал все правильно.
Кроме того, если кто-нибудь знает более простой / лучший способ загрузки в формате PNG, я также открыт для предложений.
Задача ещё не решена.
Других решений пока нет …