0

我目前有一个类型的图像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

提前谢谢你,内斯特

4

1 回答 1

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);
于 2014-04-17T15:19:53.507 回答