my_mouse_callback
IplImage*で動作する関数の例があります。
void my_mouse_callback(int event, int x, int y, int flags, void* param)
{
IplImage* image = (IplImage*) param;
switch( event )
{
case CV_EVENT_LBUTTONDOWN:
drawing_box = true;
box = cvRect(x, y, 0, 0);
break;
...
draw_box(image, box);
break;
}
これは次のように実装されmain
ます:
cvSetMouseCallback(Box Example,my_mouse_callback,(void*) image);
問題は、私のコードではMatオブジェクトを使用していて、この方法でsetMouseCallback
関数に転送できないことです。
MatをIplImage*に転送する必要のないソリューションを探しています。
または、解決策がない場合、MatをIplImage *に正しく変換するにはどうすればよいですか?
私はopencvドキュメントからのこのコードですでにそれを試しました:
Mat I;
IplImage* pI = &I.operator IplImage();
そしてそれはうまくいきませんでした。