我需要查看以下opencv C函数的源代码,但我还没有在opencv源代码中找到正确的目录。
cvSmooth()
cvResize()
cvSaveImage()
我正在使用 OpenCV 2.3.1 ,有谁知道在哪里可以找到C中这三个函数的源代码?
答案 0 :(得分:1)
使用grep很容易,因为它们使用至少部分GNU代码样式,它将函数的返回类型放在实现上方的行上,并且grep可以搜索包含行开头的模式令牌,如grep手册所说:
<强> Grep manual 强>: 插入符号^和美元符号$是元字符 分别匹配a开头和结尾的空字符串 线。符号\&lt;和&gt;分别匹配空字符串 一个词的开头和结尾。符号\ b匹配空 字符串边缘的字符串,\ B匹配提供的空字符串 它不在一个词的边缘。
grep "^cvSmooth" -rn .
-r
选项告诉grep递归搜索,以便它搜索您要求它搜索的路径的所有子文件夹。
-n
选项告诉grep包含它找到的任何匹配的行号,这可以帮助我们进一步缩小我们正在寻找的内容。
最后的.
路径指示符告诉grep搜索当前目录。
这给了我以下输出:
./modules/imgproc/src/smooth.cpp:3514:cvSmooth( const void* srcarr, void* dstarr, int smooth_type,
它告诉您在源代码中确切找到cvSmooth实现的位置。您可以对要查找的其他功能执行相同的操作。
学习使用grep,因为它在尝试导航源代码(尤其是大型项目)时非常有用。另外,感谢openCV的作者使用该代码样式策略,因为在grepping时真的有帮助!