1、opencv其实最开始只有源码,也就是sources中的代码,sources中有个modules,进入里面是各个我们平常使用的模块,如下图。

进入任意一个模块,比如calib3d,其中有include,头文件,有src,实现头文件定义的类的cpp,src文件夹下面还有一个main函数,从理论上来说我们可以把calib3d中的头文件和cpp放在一个vs的项目中,来生成解决方案,也就是做编译和执行。

但是opencv不像我们这样子做,opencv要在不同的操作系统上编译出适合本系统的静态链接库和动态链接库,之后如果我作为一个程序员,想调用calib3d的头文件中的某一个类,那么就#include <opencv2/calib3d/calib3d.hpp>就可以了。

也就是说,我们没有必要拿calib3d中的所有cpp和头文件都放在解决方案中,一个个来编译,只需要简单的一行#include调用头文件就可以了。

链接库挺方便的,关于为什么要使用链接库而不是一大堆的cpp和头文件,这个链接给出了答案https://segmentfault.com/a/1190000008634703,谢谢作者的分享。

2、下载的源码sources文件夹中必定有cmakelists,这是cmake的根据。在linux系统上,cmake指令根据cmakelists生成makefile,然后make指令根据生成的makefile进行编译和链接,生成各种链接库,静态链接库是.a格式,动态链接库是.so格式。之后就直接调用这些链接库来执行我们自己的代码。

在windows系统上,cmake-gui根据cmakelists生成vs的opencv.sln,接着生成所有项目的解决方案,生成解决方案的过程其实也就是编译和链接,生成的静态链接库是.lib格式,动态链接库是.dll格式。

搞清楚一个东西的感觉真爽~之后有什么对于opencv的新认识再来补充了

对于opencv全面貌的认识和理解的更多相关文章

  1. openCV中直方图均衡化算法的理解

    直方图均衡化就是调整灰度直方图的分布,即将原图中的灰度值映射为一个新的值.映射的结果直观表现是灰度图的分布变得均匀,从0到255都有分布,不像原图那样集中.图像上的表现就是对比度变大,亮的更亮,暗的更 ...

  2. Mysql----关于内联,左联,右联,全联的使用和理解

    准备工作:新建两张表 表一:student 填充内容:编号,姓名,班级 表二:school 填充内容:编号,班级,专业 这两张表建好了,意为班级选课表,两张表没有任何主外键的关系,下面进行内联,左联, ...

  3. 【洛谷】P1308 统计单词数-全AC题解(易理解

    弟弟的混乱代码(易理解 大概 思路: 循环b(被找的字符串),遇空格比较两空格间的长度是否与a(需要查找的字符)相等:不相等继续循环:相等比较内容是否相同(倒数比较,不一样直接退出 ,直到比较到第一个 ...

  4. opencv学习笔记——Scalar数据结构的理解

    首先看一下Scalar的定义 typedef struct Scalar { ]; }Scalar; 可以看到,Scalar是一个由长度为4的数组作为元素构成的结构体,Scalar最多可以存储四个值, ...

  5. opencv配置(2.49)

    转载自浅墨大神http://blog.csdn.net/poem_qianmo/article/details/19809337 OpenCV2.4.9和2.4.8的配置几乎一样,唯一的区别在下文中的 ...

  6. (转)OpenCV 2.4.8 +VS2010的开发环境配置

    转自:  http://blog.csdn.net/poem_qianmo/article/details/19809337 自己可能需要再进行修改 本系列文章由zhmxy555(毛星云)编写,转载请 ...

  7. 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

    本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/19809337 作者:毛星云(浅墨 ...

  8. 【OpenCV入门教程之一】 OpenCV 2.4.8 +VS2010的开发环境配置

    目录(?)[-] 因为读研期间的研究方向是图像处理所以浅墨这段时间闭门研究了很多OpenCV和图像处理相关的知识与内容眼看自己积累到一定的程度了于是决定开始开设这个OpenCV系列专栏总结自己所学也分 ...

  9. opencv环境变量配置

    本文章由@浅墨_毛星云 出品  原文文章链接:http://blog.csdn.net/poem_qianmo/article/details/19809337 作者:毛星云(浅墨)    微博:ht ...

随机推荐

  1. 2018.06.26 Dominator Tree--支配树

    在学习支配树之前,请保证已经会写lca(tarian求法) 简介 支配树是什么?支配树能干什么? 对于一个DAG" role="presentation" style=& ...

  2. hdu-4300(字符串hash)

    题目链接:传送门 参考文章:传送门 思路: (1)对字符串进行翻译,求出s1(未翻译),s2(已翻译)字符串,并分别对s1,s2进行hash操作. (2)比较s1的后x位和s2的前x位的hash值,求 ...

  3. 微信小程序组件的使用

    1.在page同级目录下新建components文件夹,然后新建目录test,新建组件test 2.新建在page目录下新建目录,然后新建page页面.注意:每新建一个页面,都要修改app.json文 ...

  4. linux source命令的用法

    source命令用法:source FileName作用:在当前bash环境下读取并执行FileName中的命令.(如把ls写入a.txt,然后source a.txt 就会执行ls命令,列出目录)注 ...

  5. 查阅Springboot官方文档方式----------------Springboot2.0.2最新稳定版

    1.登录官方网址: https://spring.io/ 如图所示: 2.选择PROJECTS,就可以看到spring所有的相关项目了. 点开后:其中就包括了Spingboot 3.版本选择,红圈部分 ...

  6. 线性回归,多项式回归(P2)

    回归问题 回归问题包含有线性回归和多项式回归 简单来说,线性回归就是用多元一次方程拟合数据,多项式回归是用多元多次来拟合方程 在几何意义上看,线性回归拟合出的是直线,平面.多项式拟合出来的是曲线,曲面 ...

  7. HDU 1517 A Multiplication Game (SG函数找规律)

    题意:两个玩家玩一个游戏,从 p = 1,开始,然后依次轮流选择一个2 - 9的数乘以 p,问你谁先凑够 p >= n. 析:找规律,我先打了一下SG函数的表,然后就找到规律了 我找到的是: 1 ...

  8. [待完善]mycat使用(一)

    生产上的mycat已经投入使用,这次的应用场景是数据写入和查询都非常大的一个需求,而且经常出现多表join的查询 1.应用上线没多久出现大量慢查询: 分片键的选择率非常高,但没有建索引,在其上加上索引 ...

  9. Effective C++ 随笔(5)

    条款27:尽量稍作转型动作 const_cast:常量性移除 dynamic_cast:安全向下转型 reinterpret_cast: static_cast: 如在子类当中享调用父类当中的某个方法 ...

  10. 百度Web Uploader组件实现文件上传之分片上传(一)

    当网络问题导致传输错误时,只需要重传出错分片,而不是整个文件.另外分片传输能够更加实时的跟踪上传进度.多的不说了直接怼代码 前端是三个监听:一个是获取md5,一个是分片,最后一个是合并代码 <! ...