如何查看opencv函数实现

来源:互联网 发布:mysql.sock在哪 编辑:程序博客网 时间:2024/04/29 18:18
对于刚接触opencv的新手来说,利用opencv库函数来实现了某些功能兴奋之余,对其库函数的具体实现更是好奇。仔细读懂opencv的库函数也对函数的用法和限制有了更深入的理解。

    但在VS2010中,在opencv的函数上单击右键后,无论是点“转到定义”或“转到申明”结果都一样,只能跳转到函数对应的头文件中。

           方法一:在opencv的安装文件夹中找到 与头文件名字对应的.C 或 .CPP 文件,然后在对函数进行查找。但不是所用函数都是这样的。例如cvSmooth函数,单击“转到定义”后,其跳转到imgproc_c.h中。通过找到imgproc.c或者imgproc.cpp都没有找到 cvSmooth函数。

            方法二:在VS2010的“编辑”菜单下,点“查找与替换”,然后选“在文件中查找”。对于opencv的源代码,都放在  (安装目录).../opencv/modules 这个文件夹中。将此文件夹添加到查找目录点击查找即可在查找结果中找到函数的实现。

相比之下,方法二更加的简单,有效。


存在一个问题:调试代码时按F11无法进入OpenCV内部源码(比如cvLoadImage函数的实现)进行调试。把modules目录加入Source Directories无法解决问题,其实根本原因是运行时调用了OpenCV自带的dll文件(如opencv_core231d.dll等),要想进入OpenCV内部源码进行调试,必须用相应的编译器(比如VC2010)手动编译opencv源码,然后运行时调用编译出来的dll文件即可(在环境变量里时设置)。编译opencv源码请使用CMake,这个工具会生成所选择的编译器的项目文件,支持

Visual Studio 6/7/8/9/10/11以及Eclipse,CodeBlocks,Borland等编译器)。


Reference:

http://blog.csdn.net/jfuck/article/details/8665486

0 0
原创粉丝点击