java 图像刺绣算法_图像处理:OpenCV3源代码文件解析

本文从引言开始,介绍了如何通过学习OpenCV3的源代码来深入理解图像处理算法。作者强调了了解源码的重要性,并详细阐述了源代码的位置,特别是`modules`和`samples`文件夹的内容。`modules`文件夹涵盖了多个图像处理模块,如核心功能、特征检测、机器学习等;`samples`文件夹提供了各种示例代码,展示了OpenCV在不同领域的应用,如相机标定、特征匹配、图像拼接等。文章结尾鼓励读者通过实践和总结来提升编程技能。
摘要由CSDN通过智能技术生成

引言

结合冈萨雷斯的《数字图像处理》和Opencv3.0,学习图像处理算法有一段时间了,知道了函数怎么使用,但不知道opencv所用的函数源代码是如何编写的,“知其然,也要知其所以然”,闲暇之日,研究下源代码的编写,纵然不能全部看懂或者掌握,有收获就是好的。

有诗为证,诗曰:

图像处理有本质,二维数组是内涵。

卷积频域来滤波,轮廓分割形态学。

书山有路勤为径,兴趣使然来做舟。

为识庐山真面目,学习源码实践多。

源代码位置

假如你将opencv3.0解压到D:opencv3.0,那么路径为:

D:opencv3.0opencvsources

文件夹modules和samples是我们重点学习的内容。

19a64380e8ed3653f6c3b956fe0649ad.png

图 1 源代码和范例存放位置

图1 文件夹存放内容如下。

  • 3rdparty: 包含第三方库,如用视频解码用的 ffmpeg、jpg、png、tiff 等图片的解码库。
  • apps: 包含进行 Haar 分类器训练的工具,OpenCV 进行人脸检测便是基于 Haar 分类器。如果你想检测人脸以外的图片,千万不要错过这几个工具。
  • cmake: 包含生成工程项目时cmake 的依赖文件,只能用于搜索第三方库,普通开发者不需要关心这个文件夹的内容。
  • data: 包含 OpenCV 库及范例中用到的资源文件
  • doc: 包含生成文档所需的源文件及辅助脚本
  • include: 包含入口头文件。OpenCV子文件夹中是C语言风格的API。OpenCV 2 子文件夹中只有一个 opencv.hpp 文件,这是 OpenCV 2 及 OpenCV 3 推荐使用的头文件
  • modules:算法模块的源代码。研究算法的同学 学习的重点!!!
  • platforms: 包含交叉编译所需的工具链及额外的代码,交叉编译指的是在一个操作系统中编译供另一个系统使用的文件。
  • samples:算法用法示例文件夹

重点文件夹:modules和samples。

modules文件夹

modules文件夹存放了如下内容,主要分为CPU模块和CUDA模块。

652708843d8c8283fe706a28d9c118a0.png

图2 modules文件夹展开

  1. CPU模块

alib3d: 相机标定及三维重建。相机标定用于取出相机自身缺陷

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值