检查OpenCV矩阵是否为浮点组件类型

Check if an OpenCV Matrix is of floating point component type

本文关键字:组件 类型 是否 OpenCV 检查      更新时间:2023-10-16

我想在运行时测试cv::Mat是否具有浮点组件类型,即其类型是否为CV_32FxxCV_64Fxx之一。我可以用if (mat.type() % 8 >= 5) {/*...*/}做到这一点,但如果OpenCV进行进一步的开发,这看起来不太突出,而且可能是错误的。

有更好的方法吗?

您要查找的是OpenCV的Mat::depth(),它报告元素的"深度":CV_8UCV_8SCV_16UCV_16SCV_32SCV_32FCV_64F。为了你的目的,你可以和后两者进行比较。