首页 > 解决方案 > 获取 cv::Mat 的值类型

问题描述

我正在创建一个应该接受 OpenCV 矩阵的模块。我是 OpenCV 的新手,实际上没有使用该库,所以也许我的问题很幼稚。

我想要一个尽可能广泛地接受 OpenCV 类型的函数(cv::Mat, cv::Mat_<T>, cv::Matx<T,M,N>),但是我需要在编译时知道底层的值类型。

我的问题是:值类型在编译时是否已知cv::Mat?似乎可以强制转换,并且可以在运行时提取它。但它可以在编译时找到吗?我的猜测是否定的,因为底层的值类型是非标准的。但是,如果已知,我如何得到它?

这似乎不起作用:

template <class T>
inline void foo(const T& bar)
{
    using value_type = typename std::decay_t<T>::value_type;
}

标签: c++opencv

解决方案


推荐阅读