什么是OpenCV?
尽管网上到处都可以看到关于opencv的介绍,我还是想说下什么是OpenCV。让初次接触OpenCV的人对此有所了解。
1999年,Intel的一位研究员Gary Bradski看到很多大学都有内部公开的视觉开发接口,每个新来的学生不需要从头开始来开发这些视觉函数,直接在已有的这些接口函数上进行新的工作,他开始策划为计算机视觉提供通用性的接口并得到了Intel性能实验室的帮助。
图1 Gary Bradski,创建opencv的人
Opencv发展至今,版本已经到了4,据说很快会推出版本5,从第一个版本到现在,已经走过了二十多个年头。最开始openv由Intel公司负责开发,俄罗斯的专家负责实现和优化。Opencv的目的是为视觉研究者提供开源的基础代码,这样使用者就不用从头开始写代码。opencv建立之初还有个目的,就是传播视觉相关的知识,
Opencv发展到现在,已经不再靠Intel来弄了,作为开源代码,Opencv得到了很多用户的贡献,研发主力也很大部分转移到英特尔之外。现在OpenCV 主要是由基金会、一些上市公司和私人机构负责开发。如果有兴趣,可以查查opencv的官网https://opencv.org/了解更详细的历史。
opencv的源代码是公开的,如果需要学习源代码,需要自己下载源代码来自己编译了,这要麻烦一些,但是很多放在扩展库里面的函数你也可以调用,功能更强大。
新的opencv图像数据采用Mat类型,操作方便了很多。新学习opencv的人很快就可以上手,新手学习opencv,至少从3.0以后的版本开始学起,或者直接上4.0以后的版本,如果喜欢在视觉领域搞深度学习,4.0以后已经加入了深度学习的调用,但是你不能自己训练深度学习模型,只能调用已经训练好的模型,如果你对python比较熟练,可以找一台比较好的电脑,利用python训练深度学习模型,然后在opencv里面调用,这也是比较好的思路,毕竟,python做深度学习模型训练的资源比较多。
如果已经决定往视觉方向发展,那么就好好学习opencv的函数,如果原来没有什么编程基础,那么,花点时间,先把c++或者python的基础学下,后面就可以顺理成章的学习opencv的函数了。前期的学习可能会觉得比较难,等有一点基础之后,你将会发现,原来opencv这么简单。
简单来说,OpenCV就是一个图像处理函数库,可以通过调用这些函数,直接实现相应的图像处理,从而避免了重复造车,重复写代码的问题,也不需要了解内部函数的实现过程,也不需要自己去实现某个图像处理函数。当然,你可以在OpenCV上,开发自己的算法,这一点是非常有用的。OpenCV是跨平台的,支持c++、python等多种语言,如果是在c#上使用OpenCV,也有对应的封装库,最常用的就是emgucv和opencvsharp两种。

什么是OpenCV?哪些人使用OpenCV?相关推荐

  1. 基于opencv实现人脸猫脸图像检测(python)

    基于opencv实现人脸猫脸图像检测(python) 目录 基于opencv实现人脸猫脸图像检测(python) 1.方法流程如下 2 .导入相关库 3. 导入级联分类器 4.调整图像大小 5.彩色图 ...

  2. ROS机器人035-机器人系统+Opencv图像识别

    一.ROS中的图像数据 显示图像类型: roslaunch usb_cam usb_cam-test.launch rostopic info /usb_cam/image_raw 查看图像消息: r ...

  3. iOS与Opencv的探秘之Opencv认识,适配Xcode

    本章及以后文章所采用的开发环境: (1)xcode 8.2 (2)opencv for iOS 3.2 ps:低于xcode8.0版本,opencv环境会出现报错[会发生<opencv2/ope ...

  4. OpenCV怎么学?OpenCV入门到底要学多久?

    首先先了解OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在linux.Windows.Android和MAC OS操作系统上. [1]  它轻量级 ...

  5. 【从零学习OpenCV 4】了解OpenCV的模块架构

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门 ...

  6. 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

    1.下载和安装OpenCV SDK VS2010不用说,肯定都安装了吧.来说说当前最新的OpenCV版本2.4.8(2014年2月24日),2.4.9 (2014年4月)的下载和安装.与其说是安装,不 ...

  7. [OpenCV] -- win7下配置OpenCV的Qt开发环境

    http://blog.csdn.net/qiurisuixiang/article/details/8665278 编译.配置OpenCV的工程相当曲折,编译OpenCV不下5次,一开始还以为是自己 ...

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

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

  9. 【opencv4】opencv视频教程 C++(opencv教程)2、加载imread()(以灰度加载),修改,保存图像

    上一讲:[opencv4]opencv视频教程 C++(opencv教程)1.opencv介绍和环境搭建 下一讲:[opencv4]opencv视频教程 C++(opencv教程)3.矩阵的掩膜操作( ...

最新文章

  1. Hibernate+Spring-orm的基本方法总结
  2. Jenkins默认工作空间及更改默认工作空间
  3. laravel项目运行 php artisan cache:clear 命令报错
  4. preprocessing.StandardScaler中fit、fit_transform、transform的区别
  5. Django之模板层
  6. 标签打印软件如何制作图文标签
  7. MATLAB-画图汇总
  8. Prizmo Pro for Mac(OCR文字扫描识别软件)
  9. react 报错Assign arrow function to a variable before exporting as module default
  10. java cad polyline,为AUTOCAD编写系列批量处理程序
  11. grunt的基本使用
  12. adb 模拟键盘输入、点击屏幕、滑动、按键等操作
  13. origin如何绘制双y轴曲线_如何在origin图中,做出双Y轴?
  14. 09 | 不可或缺的自定义函数
  15. JAVA面试常见问题200+
  16. python学习——tsv文件批量转为csv文件、csv文件列合并
  17. 论文笔记(七):ROS Reality: A Virtual Reality Framework Using Consumer-Grade Hardware for ROS-Enabled Robot
  18. linux系统常用性能参数命令
  19. MySQL INSERT插入条件判断:如果不存在则插入
  20. 先做接口测试还是功能测试

热门文章

  1. 让你的LCD1602显示用户自定义字符 Arduino-LiquidCrystal库的createChart()介绍
  2. 连续信号希尔伯特变换
  3. 尚硅谷JavaScript基础实战丨JS入门到精通全套完整版 P15
  4. python爬虫实战之去哪儿机票
  5. ABAQUS有限元仿真计算工作站单机多核/多机多核集群硬件配置详解
  6. 大乐透号码随机生成(仅供参考学习)
  7. 【每天学点管理】——非暴力沟通
  8. 本人亲测-inno setup打包EXE(较完整实例)
  9. 【嵌入式Linux应用开发】SquareLine Studio与LVGL模拟器
  10. 4.jQuery中Ajax提交表单数据