我写了以下结构。
struct RGB
{
unsigned short Red;
unsigned short Green;
unsigned short Blue;
};
struct ImageBase
{
std::string name;
RGB array[64][64];
};
我有一个文件“Image.png”。如何读取文件(将RGB值打印到屏幕或文件中)?
答案 0 :(得分:0)
你可以使用gil作为提升的一部分来阅读图像:
using namespace boost::gil;
rgb8_image_t input;
png_read_and_convert_image(ipath, input);
然后,您将在图像上创建一个视图以访问像素,并迭代像素以将其写入标准输出:
rgb8_view_t src_view = view(input);
for (int y=0; y < src_view.height(); ++y) {
rgb8_view_t::x_iterator src_it = src_view.row_begin(y);
for (int x=0; x < src_view.width(); ++x)
std::cout << "R=" << src_it[x][0] << " G=" << src_it[x][1] << " B=" << src_it[x][2] << std::endl;
}
gil的文档在这里:http://www.boost.org/doc/libs/1_51_0/libs/gil/doc/index.html