C ++:与OpenCV的交叉关联

时间:2014-01-28 08:36:24

标签: c++ opencv

我必须在C ++中实现两个数组的互相关,我认为这可能与OpenCV中的模板匹配有关。

我从一个简单的案例开始:

    double telo [3] ={0,1,2};
    Mat prueba(1,3,CV_64F,telo);

    double telo2[3] = {0,1,2};
    Mat prueba2(1,3,CV_64F,telo2);

    Mat result(1,50,CV_64F);


    matchTemplate(prueba,prueba2,result,CV_TM_CCORR);

但它崩溃了,我怎么能这样做?有可能吗?

由于

1 个答案:

答案 0 :(得分:3)

错误消息显示仅使用CV_8UCV_32F类型。代码以float类型运行。如果你想使用双精度,你必须建立自己的函数。

工作代码:

    float telo [3] ={0,1,2};
    Mat prueba(1,3,CV_32F,telo);
    float telo2[3] = {0,1,2};
    Mat prueba2(1,3,CV_32F,telo2);
    Mat result;
    matchTemplate(prueba,prueba2,result,CV_TM_CCORR);

断言消息解释了大多数时候的情况。下次检查控制台输出。