我需要访问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);
答案 0 :(得分:1)
看起来有typedef called value_type可以满足您的需求。
template <typename T>
void foo(const T& mat) {
T::value_type* ptr = ...;
}