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

Retrieving type of Opencv Mat_<T> at compile time

本文关键字:类型 gt lt 编译 检索 Opencv Mat      更新时间:2023-10-16

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

看起来有一个名为 value_type 的 typedef 可以做你想做的事。

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