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