在 OpenCV 的 C++ 接口中,检查图像的类型似乎很容易。如果您有图像 cv::Mat img = cv::imread("someImage.xyz")
,则只需执行 int theType = img.type()
。
但是,正如您所料,调用 img.type()
只会给出一个整数,而不是枚举名称(例如 CV_32FC1
)。
如果我知道 OpenCV 枚举的整数值,是否有一种简单的方法可以打印出枚举名称(例如 CV_32FC1
)?
原文由 solvingPuzzles 发布,翻译遵循 CC BY-SA 4.0 许可协议
据我所知,OpenCV 中不存在这样的功能。
我认为你最好编写自己的函数来获得这些。很多开关盒,但我想它可以完成工作。枚举可以在 这里 找到。
编辑:
这是您可以用来提取类型的东西。我猜可能有一种更有效的方法,但我现在无法理解它。