在c ++中列出内容

时间:2012-09-27 11:46:13

标签: c++ file-io

我写了以下结构。

struct RGB
{
     unsigned short Red; 
     unsigned short Green;
     unsigned short Blue;
};

struct ImageBase
{
     std::string name;
     RGB array[64][64];
};

我有一个文件“Image.png”。如何读取文件(将RGB值打印到屏幕或文件中)?

1 个答案:

答案 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