opencv中Mat的类型

时间:2014-07-14 08:09:53

标签: c++ opencv types

我有以下内容:

Mat bladArray(Mat base) {
    std::vector<int> vec;
    for (int x = 0; x < base.cols; x++) {
        for (int y = 0; y < base.rows; y++) {
            vec.push_back(y * base.cols + x);
        }
    }
    return Mat(vec);
}

//input =   VideoCapture cap(0);
//fish is similair to bladArray

 Mat warp(Mat input) {
    if (!f) {
        fish = genfish(input);
        f = true;
    }
    if (!b) {
        base = bladArray(input);
        b = true;
    }

    Mat ret;
    remap(input, ret, base, fish,  0, BORDER_CONSTANT, Scalar());
    return ret;
}

这会产生以下错误:

modules/imgproc/src/imgwarp.cpp:3128: error: (-215) ((map1.type() == CV_32FC2 || map1.type() == CV_16SC2) && !map2.data) || (map1.type() == CV_32FC1 && map2.type() == CV_32FC1) in function remap

我理解这意味着类型不正确但opencv中的类型如何工作?

是否有一种简单的方法可以将mat的类型设置为重映射接受的类型?无论如何,重映射都接受哪些类型?

0 个答案:

没有答案