У меня есть шаблонный метод, в котором построен объект Mat. Тип этой матрицы зависит от реализации шаблона:типы типов для типов данных OpenCV
template <typename T>
void createMatrixAndDoStuff(int rows, int cols){
// ...
Mat A(rows,cols,getCVtype<T>::value);
// ...
}
В этом случае я использую основную черту, getCVType<T>::value
вернется CV_32F если T=float
и т.д. Я знаю, что это глупо, потому что я мог бы использовать Mat_<T>(rows,cols)
и забыть об использовании черт для этого. Но это заставило меня подумать: есть ли какой-либо доступный признак (или любой материал шаблона) в OpenCV для вывода макросов типа (CV_32F, CV_8U, ...) во время компиляции из типов?
AFAIK там нет, но вы можете легко реализовать их самостоятельно , –
@ GermánDiago это то, что я думал, в первую очередь, я уже реализовал эту функцию getCVtype. Но все же странно, что в API OpenCV не предусмотрено никаких методов? –
Ну, API был в основном от C, поэтому я не удивлюсь, если они этого не предоставят. –