0

MatOpenCV から別の構造にコピーしようとしています(Windows で OpenCV 2.4.3 を使用しています) Matmemcpy

基本的にコードは次のとおりです。

Mat NewFrame,OldFrame;
OldFrame=imread(image,CV_LOAD_IMAGE_COLOR);
memcpy(&NewFrame,&OldImage,sizeof(Mat));

問題は、NewFrame と OldFrame が同じではないことです。NewFrame.step.bufこの memcpy の後にのアドレスが変更されました (???)

memcpy の前は、stepOldFrame のフィールドのアドレスは次のとおりでした。

 OldFrame.step.p=0x0032f338
 OldFrame.step.buf=0x0032f338

memcpy の後、stepNewFrame からのフィールドのアドレスは次のとおりです。

 NewFrame.step.p=0x0032f338
 NewFrame.step.buf=0x0032f2f8 // it should be 0x0032f338

アドレスが変更された理由と、この問題の解決方法がわかりません。

4

1 に答える 1