iOS App上的cvFloodFill格式

时间:2014-03-20 23:05:22

标签: c++ ios opencv

我使用OpenCV跟踪了example/tutorial关于ANPR算法。

我下载了c ++示例代码,并将此代码移植到iOS应用程序上。

使用一些示例照片,此代码运行良好。

现在,我想使用iPhone相机将照片传递给ANPR算法但是我得到了一个错误(所以也是一个崩溃)。错误是这样的:

int area = floodFill(input, mask, seed, Scalar(255,0,0), &ccomp, Scalar(loDiff, loDiff, loDiff), Scalar(upDiff, upDiff, upDiff), flags); 

OpenCV错误:cvFloodFill中不支持的格式或格式组合(),文件/src/floodfill.cpp,第621行

floodFill函数在此上下文中使用:

Mat mask;
        mask.create(input.rows + 2, input.cols + 2, CV_8UC1);
        mask= Scalar::all(0);
        int loDiff = 30;
        int upDiff = 30;
        int connectivity = 4;
        int newMaskVal = 255;
        int NumSeeds = 10;
        cv::Rect ccomp;
        int flags = connectivity + (newMaskVal << 8 ) +  CV_FLOODFILL_FIXED_RANGE + CV_FLOODFILL_MASK_ONLY;
        for(int j=0; j<NumSeeds; j++){
            cv::Point seed;
            seed.x=rects[i].center.x+rand()%(int)minSize-(minSize/2);
            seed.y=rects[i].center.y+rand()%(int)minSize-(minSize/2);
            circle(result, seed, 1, Scalar(0,255,255), -1);
            int area = cv::floodFill(input, mask, seed, Scalar(255,0,0), &ccomp,

Scalar(loDiff, loDiff, loDiff), Scalar(upDiff, upDiff, upDiff), flags);
            printf("%d",area);
        }

一些建议?

1 个答案:

答案 0 :(得分:-1)

尝试在floodfillimg_gray而不是input)的输入中使用灰色图像。