Opencv 输出调试信息
首先看下opencv源码中对于log输出的定义
。
static bool param_VIDEOIO_DEBUG = utils::getConfigurationParameterBool("OPENCV_VIDEOIO_DEBUG", false);
static bool param_VIDEOCAPTURE_DEBUG = utils::getConfigurationParameterBool("OPENCV_VIDEOCAPTURE_DEBUG", false);
static bool param_VIDEOWRITER_DEBUG = utils::getConfigurationParameterBool("OPENCV_VIDEOWRITER_DEBUG", false);
#define CV_CAPTURE_LOG_DEBUG(tag, ...) \
if (param_VIDEOIO_DEBUG || param_VIDEOCAPTURE_DEBUG) \
{ \
CV_LOG_WARNING(nullptr, __VA_ARGS__); \
}
#define CV_WRITER_LOG_DEBUG(tag, ...) \
if (param_VIDEOIO_DEBUG || param_VIDEOWRITER_DEBUG) \
{ \
CV_LOG_WARNING(nullptr, __VA_ARGS__) \
}
调用CV_CAPTURE_LOG_DEBUG 宏会写入log,但条件是满足param_VIDEOIO_DEBUG或者param_VIDEOCAPTURE_DEBUG即getConfigurationParameterBool(),延这两个条件追下去,发现是查找getConfigurationParameterBool后的第一个参数名是否有在环境变量中,并且值为 1或True或者true或者 TRUE,将会进行debug信息输出,并且输出是在控制台中输出。不得不说藏的真深。
接下来看效果,红色部分即opencv输出的调试信息: