2012-04-03 1 views
1

ImageMagick의 RGB 값 배열이 있는데 opencv에서 IplImage 구조를 만들고 싶습니다. ImageMagick 이미지를 hdd에 쓰지 않고 다시 읽지 않고도 IplImage의 내용을 rgb 배열 값으로 설정하는 방법을 궁금합니다.OpenCv Image from RGB Array

답변

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);