2010-11-19 5 views

답변

4

가장 쉬운 방법은 at templated method을 사용하여 버퍼의 요소를 반복하는 것입니다.

unsigned char buffer[] = {1, 2, 3, ..., 18}; // RGBRGB... 
cv::Mat image(2, 3); 
for (int i = 0; i < 18; ++i) { 
    int row = i/9; 
    int col = (i/3)%3; 
    int rgb = i%3; // An index 
    image.at<unsigned char>(row,col+rgb) = buffer[i]; 
} 

물론, 올바른 형식으로 매트릭스를 초기화하고 위에서 수행하지 않은 색상 형식을 설정해야합니다. OpenCV 매트릭스 객체 here에 대해 자세히 알아보십시오.

2

IplImage에는 variable imageData가 있습니다. 그냥 버퍼 일뿐입니다. 따라서 배열이 imageData 버퍼와 같은 형식이면 배열을 복사 할 수 있습니다. 형식이 다른 경우 복사 할 수 있지만 IplImage의 다른 변수를 올바르게 채워야합니다.

관련 문제