Mat
OpenCV から別の構造にコピーしようとしています(Windows で OpenCV 2.4.3 を使用しています) Mat
。memcpy
基本的にコードは次のとおりです。
Mat NewFrame,OldFrame;
OldFrame=imread(image,CV_LOAD_IMAGE_COLOR);
memcpy(&NewFrame,&OldImage,sizeof(Mat));
問題は、NewFrame と OldFrame が同じではないことです。NewFrame.step.buf
この memcpy の後にのアドレスが変更されました (???)
memcpy の前は、step
OldFrame のフィールドのアドレスは次のとおりでした。
OldFrame.step.p=0x0032f338
OldFrame.step.buf=0x0032f338
memcpy の後、step
NewFrame からのフィールドのアドレスは次のとおりです。
NewFrame.step.p=0x0032f338
NewFrame.step.buf=0x0032f2f8 // it should be 0x0032f338
アドレスが変更された理由と、この問題の解決方法がわかりません。