使用Boost通用图像库进行类型转换

时间:2013-07-26 16:21:34

标签: image-processing boost boost-gil

我目前有一个boost::gil::rgb8c_view_t类型的图片。我需要将它传递给具有此原型的函数:

void function(const boost::gil::rgb8c_view_t& input, const int index, const boost::gil::rgb8c_view_t::view_t &output)

我使用以下语法创建了一个输出图像:

boost::gil::rgb8c_view_t::view_t output(input._dynamic_cast<boost::gil::rgb8c_view_t::view_t>());

此时,编译器接受图像output作为函数的输入。但是,我需要将图像恢复为boost::gil::rgb8c_view_t类型。问题是:

  • 分配图片output
  • 是否正确?
  • 如何将其转换回boost::gil::rgb8c_view_t类型?

提前谢谢你, 内斯托尔

1 个答案:

答案 0 :(得分:0)

我不确定我是否正确理解您的问题(请参阅上面的评论),但要创建与输入图像大小相同的输出图像,您可以使用如下调用:

boost::gil::rgb8_image_t output_image(input.dimensions());

得到一个像这样的可变视图:

boost::gil::rgb8_view_t boost::gil::view(output_image);

当然你也可以获得这样的常量/不可变视图:

boost::gil::rgb8c_view_t boost::gil::const_view(output_image);