ImageMagick의 RGB 값 배열이 있는데 opencv에서 IplImage 구조를 만들고 싶습니다. ImageMagick 이미지를 hdd에 쓰지 않고 다시 읽지 않고도 IplImage의 내용을 rgb 배열 값으로 설정하는 방법을 궁금합니다.OpenCv Image from RGB Array
1
A
답변
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;
}
안부, 다니엘
0
당신은이 방법으로 그것을 할 수
Image image("Image_Path"); int width = image.size().width(); int height = image.size().height(); IplImage* mat = cvCreateImage(cvSize(width, height), IPL_DEPTH_8U, 3); image.write(0, 0, width, height, "BGR", Magick::CharPixel, (char*)mat->imageData); cvShowImage("image", mat);