2010-11-19 10 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には可変イメージデータがあります。単なるバッファーです。したがって、配列がimageDataバッファと同じフォーマットであれば、配列を単純にコピーできます。フォーマットが異なる場合はコピーすることができますが、IplImageの他の変数を適切に入力する必要があります。

関連する問題