opencv cv SaveImage函数源码

Posted

技术标签:

【中文标题】opencv cv SaveImage函数源码【英文标题】:source code of opencv's cvSaveImage function 【发布时间】:2015-07-02 13:03:25 【问题描述】:

我需要查看以下opencv C函数的源代码,但我还没有在opencv源代码中找到正确的目录。

    cvSmooth() cvResize() cvSaveImage()

我正在使用OpenCV 2.3.1,有谁知道我在哪里可以找到C语言中这三个函数的源代码?

【问题讨论】:

访问他们的 Github 存储库并自己查找。这是链接:github.com/Itseez/opencv/search 一切都在 C++ 中,但我需要 C 源代码。 C API 现已弃用,C 函数仅用于向后兼容。它们在内部调用 C++ 函数。学习新的 C++ API 会更好。 【参考方案1】:

使用grep 很容易,因为它们至少使用部分 GNU 代码样式,将函数的返回类型放在实现上方的行上,并且 grep 可以搜索包含行标记开头的模式,正如 grep 手册所说:

Grep manual: 插入符号 ^ 和美元符号 $ 是元字符 分别匹配a开头和结尾的空字符串 线。符号 \ 分别匹配空字符串 单词的开头和结尾。符号 \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 时真的很有帮助!

【讨论】:

以上是关于opencv cv SaveImage函数源码的主要内容,如果未能解决你的问题,请参考以下文章

源码阅读opencv中opencl版本的dft函数的实现细节

【python】opencv库中cv2.findContours()和cv2.drawContours()函数

opencv函数之cv.InRange函数

OpenCV之cv2函数 2

OpenCV 函数学习02-图像的保存(cv2.imwrite)

opencv库函数