0

我想从位于 OpenCV 库源代码深处的变量中获取一个值。具体来说,我试图从文件 haar.cpp 中打印出 stage_sum 的值。我的起点,facedetect.cpp,调用方法detectMultiScale,然后调用函数cvHaarDetectObjects,调用cvHaarDetectObjectsForROC等,直到最后到达函数cvRunHaarClassifierCascadeSum,计算stage_sum。

有没有一种方法可以轻松地将值输出到 facedetect.cpp,而无需更改所有前面的函数/方法、标头等的声明?简单地尝试直接在源代码中 cout 或 printf 值并没有给出任何结果。

感谢大家的帮助!

4

2 回答 2

2

一种选择是简单地使用调试器。

但是,如果您想以编程方式执行此操作(即,将变量作为应用程序代码的一部分访问),那么除非变量在库的公共接口中公开,否则有两个选项可用:

  • 修改库的源代码,然后重新编译。
  • 诉诸未定义的行为(摆弄构成对象的原始字节等)。
于 2012-04-09T14:04:13.267 回答
0

只是为了指出明显,在haar.cppstd::cout()中添加orprintf()调用不会成功。您需要重新编译OpenCV 以使更改生效,然后在系统上重新安装库。

于 2012-04-09T14:49:21.317 回答