RGB阵列的OpenCv图像

时间:2012-04-03 00:46:01

标签: opencv imagemagick rgb

我有一个来自ImageMagick的RGB值数组,我想在opencv中创建一个IplImage结构。我想知道如何将IplImage的内容设置为rgb数组值,而无需将ImageMagick图像写入hdd然后重新读取它。

2 个答案:

答案 0 :(得分:1)

所以你想将ImageMagick Image对象转换为IplImage。只需将其写入缓冲区然后从该缓冲区中创建IplImage即可。这里的代码(http://www.imagemagick.org/discourse-server/viewtopic.php?f=23&t=18183):

void Magick2Ipl(Image magicImage, IplImage* cvImage)
{
   int width= magicImage.size().width();
   int height = magicImage.size().height();

   byte* blob= new byte[cvImage->imageSize];
   magicImage.write(0,0, width, height, "BGRA", MagickCore::CharPixel, blob);
   memcpy(cvImage->imageData, blob, cvImage->imageSize);
   delete [] blob;
}    

祝你好运, 丹尼尔

答案 1 :(得分:0)

  • 你也可以这样做,

    packages