2

あるマットから別のマットに画像データをコピーする必要があります。私のコードは以下のようになります

Mat src; // Source image
Mat res(1024,768,CV_8UC3); //Same width and height as source
uchar *dest=src.data;
res.data=dest;

しかし、目的地の画像が歪んでいます。それは私のコーディングの問題ですか?

前もって感謝します!

4

1 に答える 1

6

しかし、目的地の画像が歪んでいます。それは私のコーディングの問題ですか?

幅と高さが同じである場合、問題はチャネル数(ピクセルあたりのバイト数)にあると思われます。に変更CV_8UC3してみてくださいCV_8UC1

また、コードはデータをコピーせず、ポインターをコピーします。に関するドキュメントをお読みくださいmemcpy

実際には、次の方法cloneを使用する必要がありcv::Matます。

// returns deep copy of the matrix, i.e. the data is copied
    Mat clone() const;
于 2013-01-29T10:49:25.123 に答える