如果函数使用 OPENCV Mat 作为输入,如何编写头文件?

How to write header file if the function uses OPENCV Mat as an input?

本文关键字:何编写 文件 输入 函数 OPENCV Mat 如果      更新时间:2023-10-16

我用Mat_类型作为输入编写一个函数,这个函数的语法是这样的:

#include<iostream>
#include"opencv2opencv.hpp"
using namespace std;
using namespace cv;
Mat_<double> histcost(Mat_<double> BH1, Mat_<double> BH2) {
Mat_<double> output;
...
return output;
}

但是当我尝试编写此函数的头文件时:

#pragma once
extern Mat_<double> histcost(Mat_<double> BH1, Mat_<double> BH2);

它给了我错误:Mat_不是模板。

我对功能管理不是很熟悉,如果有人能提供帮助,我将不胜感激!

不要使用Mat_< >只使用常规cv::Mat()cv::Mat 可以包含任何类型的数据,您无需告诉它类型。

Mat_<double>是直接从固定数据制作cv:Mat的特殊快捷方式,除非您真的在进行性能调整并且知道自己在做什么,否则您不应该在任何地方使用它,

Mat_ < >语法示例(仅用于搜索(

Mat X = (Mat_<double>(4, 4) <<0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14,15);