功能重映射的参数错误

时间:2014-07-14 06:54:44

标签: c++ function opencv arguments signature

我有以下opencv代码:

InputArray fish =InputArray(ra);
InputArray base =  InputArray(ra);

 Mat warp(Mat input) {
    if (!f) {
        fish = genfish(input);
        f = true
    }
    if (!b) {
        base = bladArray;
        b = true
    }
    Mat ret;
    InputArray i = InputArray(input);
    OutputArray p;

    remap(i, p, fish, bladArray, 0, BORDER_CONSTANT, Scalar());
}

这段代码背后的想法是在图像上有效地应用鱼眼校正(这就是滤波器被缓冲的原因)。问题是,我正在将错误的参数传递给重映射函数。根据{{​​3}}(第273页),我们有以下签名:

void remap ( InputArray src , OutputArray dst , InputArray map1, InputArray map2 , int interpolation , int borderMode =BORDER_CONSTANT, const Scalar& borderValue =Scalar() )

现在

InputArray src = i 
OutputArray dst= p
InputArray map1=fish
InputArray map2=bladarray
int interpolation=0
int bordermode=BORDER_CONSTANT
Scaler borderValue=scaler();

这一切似乎都符合签名但它一直告诉我我签名错了。我究竟做错了什么?

0 个答案:

没有答案