在编译时检索Opencv Mat_ <t>的类型</t>

时间:2013-11-11 10:50:45

标签: c++ opencv

我需要访问opencv矩阵Mat_&lt; \ T&gt;的元素类型T.在编译时;有什么办法吗?我正在努力实现以下目标:

template <typename T>
void foo(const T& mat) {

  // T::type* ptr = (T::type*)mat.data;
}

foo(Mat_<float>::ones(5,5));

以下声明不是一个选项:

template <typename T>
void foo(const Mat_<T>& mat);

1 个答案:

答案 0 :(得分:1)

看起来有typedef called value_type可以满足您的需求。

template <typename T>
void foo(const T& mat) {
    T::value_type* ptr = ...;
}