Opencv 输出调试信息

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输出的调试信息:
在这里插入图片描述

调试OpenCV的例子可以按照以下步骤进行。 首先,要确保已经正确安装了OpenCV库并且环境配置正确。可以通过在终端或命令提示符下运行`python -c "import cv2; print(cv2.__version__)"`来检查OpenCV的版本号是否正确显示,以确认OpenCV已经正确安装。 其次,打开要调试的例子代码文件,并阅读整个代码文件,了解代码的结构和实现逻辑。如果有必要,可以查阅OpenCV官方文档来进一步理解代码的功能和使用方法。 然后,根据需要,在代码中插入适当的调试语句,如`print`语句或使用调试器调试代码。这些调试语句可以帮助我们查看变量的值、判断代码是否按照预期的方式执行等。 接下来,准备测试输入数据。根据例子的要求,准备相应的输入图像或其他数据。可以使用自己的图片或者从网络上下载一些测试图片作为输入数据。 最后,运行代码并观察输出结果。如果输出结果不符合预期,可以根据调试语句的打印日志或者调试器的提示信息进行排查。根据问题的具体情况,可能需要检查输入数据是否正确、参数是否正确设置、函数是否正确调用等。 如果找不到问题所在,可以在网上搜索相关问题或在OpenCV的官方开发者论坛上发帖求助。在求助时,需要提供代码片段、输入数据、预期输出结果以及实际输出结果等信息,以便其他人更好地理解问题并提供帮助。 总之,调试OpenCV的例子需要细心分析代码、正确设置输入数据和参数,并根据实际情况进行适当地调试操作,最终找到问题所在并进行修复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值