0

私は OpenCV の Mat 型でいくつかの変数を使用しており、テンプレート関数を呼び出しています。ただし、引数テンプレートを推測できないため、コンパイル エラーが発生します。

関数の呼び出し:

Rot2Homo(rot, tmpMat, ssTo);

呼び出された関数テンプレート:

template <class NumType>
void Rot2Homo(cv::Mat_<cv::Vec<NumType, 1>> rot, cv::Mat_<cv::Vec<NumType, 1>> trans, cv::Mat& Homo)
{   
    Homo = cv::Mat::zeros(4,4, cv::Vec<NumType, 1>);

    rot.copyTo(Homo(Range(0,3), Range(0,3)));
    trans.copyTo(Homo(Range(0,3), Range(3,4)));
    Homo.at<cv::Vec<NumType, 1>>(3,3) = 1; 

    return Homo;
}

コンパイルされたエラー:

error C2784: 'void Rot2Homo(cv::Mat_<cv::Vec<NumType,1>>,cv::Mat_<cv::Vec<NumType,1>>,cv::Mat &)' : could not deduce template argument for 'cv::Mat_<cv::Vec<NumType,1>>' from 'cv::Mat'

この同様の使用法はリンクで示され、正常に解決されました。しかし、ここでエラーが発生します。

ヒントをありがとう!

4

1 に答える 1