あるマットから別のマットに画像データをコピーする必要があります。私のコードは以下のようになります
Mat src; // Source image
Mat res(1024,768,CV_8UC3); //Same width and height as source
uchar *dest=src.data;
res.data=dest;
しかし、目的地の画像が歪んでいます。それは私のコーディングの問題ですか?
前もって感謝します!
しかし、目的地の画像が歪んでいます。それは私のコーディングの問題ですか?
幅と高さが同じである場合、問題はチャネル数(ピクセルあたりのバイト数)にあると思われます。に変更CV_8UC3してみてくださいCV_8UC1。
また、コードはデータをコピーせず、ポインターをコピーします。に関するドキュメントをお読みくださいmemcpy。
実際には、次の方法cloneを使用する必要がありcv::Matます。
// returns deep copy of the matrix, i.e. the data is copied
Mat clone() const;