【发布时间】:2012-01-03 20:45:31
【问题描述】:
我正在尝试将 OpenCV C++ cv::Mat 转换为 ImageMagick Magick::Image。我能找到的唯一示例使用较旧的 C OpenCV iplImage(例如,请参阅 here)。
有没有一种简单的方法可以做到这一点?
【问题讨论】:
标签: c++ opencv imagemagick
我正在尝试将 OpenCV C++ cv::Mat 转换为 ImageMagick Magick::Image。我能找到的唯一示例使用较旧的 C OpenCV iplImage(例如,请参阅 here)。
有没有一种简单的方法可以做到这一点?
【问题讨论】:
标签: c++ opencv imagemagick
就这么简单:
Image Mat2Magick(Mat& src)
{
Image mgk(src.cols, src.rows, "BGR", CharPixel, (char *)src.data);
return mgk;
}
请注意,该函数不会复制数据。如果在使用 Mat 镜像之前发布了 magik 镜像,则结果为SEGFAULT
【讨论】:
mat 总是比图像本身大。为了更有效地访问图像数据,将宽度更改为 2 的倍数。
【讨论】: