0

我需要在编译时访问 opencv 矩阵 Mat_<\T> 的元素类型 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);
4

1 回答 1

1

看起来有一个名为 value_type 的 typedef 可以满足您的需求。

template <typename T>
void foo(const T& mat) {
    T::value_type* ptr = ...;
}
于 2013-11-11T10:58:44.200 回答