将cv :: Mat转换为Magick :: Image

时间:2011-11-22 13:04:13

标签: c++ opencv imagemagick

我正在尝试将OpenCV C ++ cv::Mat转换为ImageMagick Magick::Image。我能找到的唯一示例使用较旧的C OpenCV iplImage(例如,参见here)。

有没有一种简单的方法可以达到这个目的?

2 个答案:

答案 0 :(得分:11)

这很简单:

Image Mat2Magick(Mat& src)
{
   Image mgk(src.cols, src.rows, "BGR", CharPixel, (char *)src.data);
   return mgk;
}

请注意,该功能不会复制数据。如果在使用Mat图像之前释放了magik图像,则结果为SEGFAULT

答案 1 :(得分:-1)

垫子总是比图像本身大。宽度更改为2的倍数,以便更有效地访问图像数据。