Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android OpenCV错误:断言失败_Android_C++_Opencv - Fatal编程技术网

Android OpenCV错误:断言失败

Android OpenCV错误:断言失败,android,c++,opencv,Android,C++,Opencv,我正在使用Opencv开发一个android图像处理应用程序。 在这个应用程序中,我拍摄相机的每一帧并对其进行处理以找到手。 我搜索了很多,做了一些事情,但我无法解决问题: 1-我调整了输入图像的大小以减小大小,因为我正在使用手机 2-我做了一个小应用程序,以一个小图像作为输入,并准确地使用此方法来查找凸包,但再次出现此错误 错误是: OpenCV Error: Assertion failed (!fixedSize() || len == ((vector<uchar>*)v)

我正在使用Opencv开发一个android图像处理应用程序。 在这个应用程序中,我拍摄相机的每一帧并对其进行处理以找到手。 我搜索了很多,做了一些事情,但我无法解决问题:

1-我调整了输入图像的大小以减小大小,因为我正在使用手机

2-我做了一个小应用程序,以一个小图像作为输入,并准确地使用此方法来查找凸包,但再次出现此错误

错误是:

 OpenCV Error: Assertion failed (!fixedSize() || len == ((vector<uchar>*)v)-  >size() / esz) in virtual void cv::_OutputArray::create(int, int const*, int,    int, bool, int) const, file /home/reports/ci/slave_desktop/50-  SDK/opencv/modules/core/src/matrix.cpp, line 1489
在makeContours方法的下一行中:

convexHull(Mat(hg->contours[hg->cIdx]),( (vector<Point>)hg->hullP[hg-  >cIdx]), false, true);    
我制作convexhull和convexdefects的方法是:

void makeContours(MyImage *m, HandGesture* hg){
    Mat aBw;

    pyrUp(m->bw, m->bw);
    m->bw.copyTo(aBw);
    findContours(aBw, hg->contours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE);

    hg->initVectors();
    hg->cIdx = findBiggestContour(hg->contours);

      if (hg->cIdx != -1){




    hg->bRect = boundingRect(Mat(hg->contours[hg->cIdx]));

    convexHull(Mat(hg->contours[hg->cIdx]),( (vector<Point>)hg->hullP[hg-  >cIdx]), false, true);

    convexHull(Mat(hg->contours[hg->cIdx]),((vector<int>) hg->hullI[hg->cIdx]), false, false);

    if (((vector<Point>)hg->contours[hg->cIdx]).size()>3){
        convexityDefects(((vector<Point>)hg->contours[hg->cIdx]), ((vector<int>)hg->hullI[hg->cIdx]),((vector<Vec4i>) hg->defects[hg->cIdx]));

        hg->eleminateDefects(m);
    }
    bool isHand = hg->detectIfHand();
    hg->printGestureInfo(m->src);
    if (isHand){
        hg->getFingerTips(m);
        hg->drawFingerTips(m);
        myDrawContours(m, hg);
    }
}
}

非常感谢您的帮助。

检查底部是否有帮助。再次感谢@Miki这里我禁用了无效参数的错误,并这样写:convexHullMathg->Converts[hg->cIdx],hg->hullP[hg->cIdx],false,true;convexHullMathg->等高线[hg->cIdx],hg->hullI[hg->cIdx],假,假;而且它有效!哦,我没注意到这篇文章也是你的D