0

ROSノードでcvBloblibを使用してビデオフィードでblobを検出しようとしています。ポインタを間違えたと思いますが、どこにあるのかわかりません。さらに、この変数の一部を解放する必要がありますか?

Mat& corridorProces(Mat& resultImg)
{   
    Mat srcMat=resultImg.clone();
    cvtColor( resultImg, resultImg, CV_RGB2GRAY );
    IplImage src= resultImg.clone();
    IplImage *src_g= new IplImage(src);
    IplImage *src_g_inv=new IplImage(src);
    cvThreshold(src_g, src_g_inv,35,255, CV_THRESH_BINARY_INV);
    cvThreshold(src_g, src_g,40,255, CV_THRESH_BINARY);    
    IplImage *labelImg=cvCreateImage(cvGetSize(src_g), IPL_DEPTH_LABEL, 1);
    cvb::CvBlobs blobs;
    unsigned int result=cvb::cvLabel(src_g, labelImg, blobs);   
...
}
4

1 に答える 1

0

画像を別の画像にコピーするには、cvCopyを使用する必要があります。さらに、cvReleaseImage(&image);を使用してイメージを解放する必要があります。

于 2013-03-06T22:41:06.160 に答える