0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

标签 > OpenCV

OpenCV

+关注 0人关注

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。

文章: 387
视频: 167
浏览: 40790
帖子: 217

OpenCV简介

  OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#,Ch, Ruby的支持。所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现。

OpenCV百科

  OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#,Ch, Ruby的支持。所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现。

  定义

  OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV是一个基于BSD许可[1] (开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。[2] 最新版本是3.4 ,2017年12月23日发布[3] 。OpenCV 拥有包括 500 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。OpenCV 为Intel® Integrated Performance Primitives (IPP) 提供了透明接口。 这意味着如果有为特定处理器优化的 IPP 库, OpenCV 将在运行时自动加载这些库。[4] (注:OpenCV 2.0版的代码已显著优化,无需IPP来提升性能,故2.0版不再提供IPP接口)

  优势

  为什么有OpenCV计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种:1.研究代码(慢,不稳定,独立并与其他库不兼容)2.耗费很高的商业化工具(比如Halcon, MATLAB+Simulink)3.依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)这是如今的现状。而标准的API将简化计算机视觉程序和解决方案的开发。OpenCV致力于成为这样的标准API。OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(Integrated Performance Primitives)得到更快的处理速度。右图为OpenCV与当前其他主流视觉函数库的性能比较

  编程语言

  OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#,Ch, Ruby的支持。

  所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现。

  系统支持

  OpenCV可以在 Windows, Android, Maemo,FreeBSD, OpenBSD, iOS,Linux 和Mac OS等平台上运行。使用者可以在 SourceForge 获得官方版本, 或者从 SVN 获得开发版本。OpenCV也是用 CMake.

  Windows prerequisites

  在Windows上编译OpenCV中与摄像输入有关部分时,需要DirectShow SDK中的一些基类。该SDK可以从预先编译的Microsoft Platform SDK (or DirectX SDK 8.0 to 9.0c / DirectX Media SDK prior to 6.0)的子目录Samples\Multimedia\DirectShow\BaseClasses获得。

  学OpenCV,需要一些什么样的基础

  作为计算机视觉的开源库,OpenCV强大而实用,下面分享一下我学OpenCV的经验。

  刚开始是由于大学生创新项目的原因,在大二的时候就开始接触,当时我已经有了C++和Java的基础了。不过先声明一下,两种语言我都学得不怎么样,囧~既然你想学C++版的OpenCV的API,那就要掌握C++的基础知识,特别是类、继承方面的基本原理,当然要求不是很高,理解就行。我说有Java基础,不是让你学Java,而是掌握一种查API手册的习惯和能力,就是,遇到不懂的类或函数(方法),通过查手册了解。我的这种能力是从Java课上学到的,故在这里赘述。

  拿到的第一本书叫《学习OpenCV(中文版)》,这本书是C语言版的,比较经典了。说实话,个人觉得对我的帮助不是很大。除了让我学会了读取图像和视频,还有知道一些图像处理的函数之外,其他倒没有什么。不过里面的原理倒是介绍的不错,不过对于初学者来说,可能效果不是那么好。因为里面涉及的东西太多,感觉吸收有压力。

  总的来说,学习OpenCV的时候,切忌一下几点:

  有一定的C++基础,会查阅API手册;

  学会安装配置开发环境;

  针对各个模块学,核心模块必学(特别是矩阵处理),基础的图像处理也要学,其他结合项目学;

  边学边动手,一定要敲代码,看例程;

  遇到问题,查手册,上论坛,网上找资源。。。

查看详情

opencv知识

展开查看更多

opencv技术

树莓派上使用OpenCV和Python实现实时人脸检测

本文介绍了如何在树莓派上,使用 OpenCV 和 Python 完成人脸检测项目。该项目不仅描述了识别人脸所需要的具体步骤,同时还提供了很多扩展知识。此...

2018-03-06 标签:人脸识别OpenCVPython 5.1万 0

OpenCV上八种不同的目标追踪算法

对于3.3以上的版本,每个追踪器可以用各自的函数创造,如cv2. TrackerKCF_create。词典OPENCV_OBJECT_TRACKERS包...

2018-08-05 标签:机器学习追踪算法OpenCV 3.2万 0

什么是模板匹配?模板匹配的原理讲解 图像处理与模板匹配算法

什么是模板匹配?模板匹配的原理讲解 图像处理与模板匹配算法

一:什么是模板匹配? 在OpenCV教程中这样解释模板匹配: 模板匹配是一项在一幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术. 这里说的模板是我...

2022-05-05 标签:图像处理算法opencv 3.1万 0

基于OpenCV3.0的BM、SGBM和GC算法对比

基于OpenCV3.0,对BM、SGBM和GC算法进行了对比测试研究。由于SGBM算法视差效果好速度快的特点,常常被广泛应用和改进,本文针对SGBM算法...

2019-06-12 标签:机器视觉opencv 2.1万 0

基于Opencv的汽车车牌识别

它以计算机视觉处理、数字图像处理、模式识别等技术为基础,对摄像机所 拍摄的车辆图像或者视频图像进行处理分析,得到每辆车的车牌号码,从而完成识别过程。通过...

2017-12-03 标签:车牌识别opencv 1.7万 0

OpenCV 图像清晰度评价(相机自动对焦)

图像清晰度评价算法有很多种,在空域中,主要思路是考察图像的领域对比度,即相邻像素间的灰度特征的梯度差;在频域中,主要思路是考察图像的频率分量,对焦清晰的...

2018-01-17 标签:OpenCV 1.6万 0

如何用Opencv实现静态手势识别玩石头剪刀布?

如何用Opencv实现静态手势识别玩石头剪刀布?

opencv实现算法如下:把图片先进行处理,处理过程:1.用膨胀图像与腐蚀图像相减的方法获得轮廓。2.用二值化获得图像。3. 反色。经过如上的处理之后,图片为:

2017-02-10 标签:手势识别opencv 1.3万 0

OpenCV3.3+VS2017开发环境搭建

OpenCV3.3+VS2017开发环境搭建

OpenCV 3.3在8月3号正式Release,带来了许多优化改进和新特性,包括备受关注的深度神经网络(DNN)模块被正式引入主仓库,标志着OpenC...

2017-11-28 标签:opencvvs2017 1.3万 0

在OPencv中采用的是Bouguet的极线校正的算法

在OPencv中采用的是Bouguet的极线校正的算法

校正后,极点在无穷远处,两个相机的光轴平行。像点在左右图像上的高度一致。这也就是极线校正的目标。校正后做后续的立体匹配时,只需在同一行上搜索左右像平面的...

2018-06-29 标签:图像矩阵OPencv 9771 0

使用OpenCV+ONNXRuntime部署YOLOV7目标检测

使用OpenCV+ONNXRuntime部署YOLOV7目标检测

使用opencv部署的程序,有一个待优化的问题。onnxruntime读取.onnx文件可以获得输入张量的形状信息, 但是opencv的dnn模块读取....

2022-07-23 标签:opencvpython 9076 0

查看更多>>

opencv资讯

opencv二值化图像去噪学习总结

OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可...

2017-11-29 标签:opencv二值化 4.9万 0

opengl与opencv有什么区别

 两者的区别就是Computer Vision和Computer Graphics这两个学科之间的区别,前者专注于从采集到的视觉图像中获取信息,是用机器...

2017-12-13 标签:openglopencv 4.5万 0

如何用opencv实现感兴趣区域ROI的选取

感兴趣区域(Region of Interest, ROI)的选取,一般有两种情形:1)已知ROI在图像中的位置;2)ROI在图像中的位置未知。

2017-12-01 标签:opencvroi 3.5万 0

opencv轮廓提取原理与代码的实现

在检测物体的轮廓时,我们通常会使用到opencv中的findcontour和drawcontour,比较常用而且效果不错。那么findcontour是基...

2017-12-04 标签:opencv 3.1万 0

opencv图像识别数字的简单实例

因为opencv有2.0 和 3.0 的版本区别,所以网上搜到的函数或类型都是两种格式,建议用新版的,什么impImage* 类型的都是2.0版本的写法...

2017-12-04 标签:图像识别opencv 3.0万 0

opencv如何实现图像旋转_原理是什么

opencv如何实现图像旋转_原理是什么

旋转一般是指将图像围绕某一指定点旋转一定的角度,图像旋转后会有一部分图像转出显示区域,可以截图那部分,也可以改变图像的尺寸使得图像显示完全。

2017-12-04 标签:opencv图像旋转 2.7万 0

opencv透视变换原理及实例

opencv透视变换原理及实例

透视变换(Perspective Transformation)是将图片投影到一个新的视平面(Viewing Plane),也称作投影映射(Projec...

2017-12-04 标签:opencv 1.9万 0

opencv相机标定原理与步骤

opencv相机标定原理与步骤

我们首先介绍下计算机视觉领域中常见的三个坐标系:图像坐标系,相机坐标系,世界坐标系。以及他们之间的关系。然后介绍如何使用张正友相机标定法标定相机。摄像机...

2017-12-04 标签:opencv 1.8万 0

Halcon和Opencv这两大图像处理库哪个更好

转自 | 小白学视觉   OpenCV Halcon 开发语言 C++、C#(emgu)、Python、Ruby、MATLAB等语言 C,C++,C#,...

2021-10-13 标签:C++计算机视觉opencv 1.6万 0

opencv人脸识别源代码分享

对人类来说,人脸识别很容易仅仅是才三天的婴儿已经可以区分周围熟悉的人脸了。那么对于计算机来说,到底有多难?其实,迄今为止,我们对于人类自己为何可以区分不...

2017-12-04 标签:人脸识别opencv 1.6万 0

查看更多>>

opencv数据手册

相关标签

相关话题

换一批
  • 加速度传感器
    加速度传感器
    +关注
    加速度传感器是一种能够测量加速度的传感器。通常由质量块、阻尼器、弹性元件、敏感元件和适调电路等部分组成。
  • OBD
    OBD
    +关注
    OBD是英文On-Board Diagnostic的缩写,中文翻译为“车载诊断系统”。这个系统随时监控发动机的运行状况和尾气后处理系统的工作状态,一旦发现有可能引起排放超标的情况,会马上发出警示。
  • 傅里叶变换
    傅里叶变换
    +关注
    尽管最初傅里叶分析是作为热过程的解析分析的工具,但是其思想方法仍然具有典型的还原论和分析主义的特征。“任意”的函数通过一定的分解,都能够表示为正弦函数的线性组合的形式,而正弦函数在物理上是被充分研究而相对简单的函数类,这一想法跟化学上的原子论想法何其相似!
  • 角度传感器
    角度传感器
    +关注
    角度传感器,顾名思义,是用来检测角度的。它的身体中有一个孔,可以配合乐高的轴。当连结到RCX上时,轴每转过1/16圈,角度传感器就会计数一次。
  • TOF
    TOF
    +关注
  • L298
    L298
    +关注
  • DMD
    DMD
    +关注
    DMD是一种整合的微机电上层结构电路单元,利用COMS SRAM记忆晶胞所制成。DMD上层结构的制造是从完整CMOS内存电路开始,再透过光罩层的使用,制造出铝金属层和硬化光阻层交替的上层结构
  • OV7620
    OV7620
    +关注
    ov7620是一款CMOS摄像头器件,是彩色CMOS型图像采集集成芯片,提供高性能的单一小体积封装,该器件分辨率可以达到640X480,传输速率可以达到30帧。
  • MC9S12XS128
    MC9S12XS128
    +关注
    HCS12X系列单片机简介 Freescale 公司的16位单片机主要分为HC12 、HCS12、HCS12X三个系列。HC12核心是16位高速CPU12核,总线速度8MHZ;HCS12系列单片机以速度更快的CPU12内核为核心,简称S12系列,典型的S12总线速度可以达到25MHZ。
  • TDC-GP2
    TDC-GP2
    +关注
  • 干扰器
    干扰器
    +关注
    干扰器有多种类型,如GPS干扰器是适用于长途客车司机以及一些不想被GPS信号追踪到的人群的一个机器,手机信号干扰器主要针对各类考场、学校、加油站、教堂、法庭、图书馆、会议中心(室)、影剧院、医院、政府、金融、监狱、公安、军事重地等禁止使用手机的场所。
  • 重力传感器
    重力传感器
    +关注
    采用弹性敏感元件制成悬臂式位移器,与采用弹性敏感元件制成的储能弹簧来驱动电触点,完成从重力变化到电信号的转换,广泛应用在中高端智能手机和平板电脑内。
  • 线束
    线束
    +关注
  • 半导体工艺
    半导体工艺
    +关注
  • MPSoC
    MPSoC
    +关注
  • Genesys
    Genesys
    +关注
  • 机械臂
    机械臂
    +关注
  • 直流无刷电机
    直流无刷电机
    +关注
    无刷直流电机由电动机主体和驱动器组成,是一种典型的机电一体化产品。 无刷电机是指无电刷和换向器(或集电环)的电机,又称无换向器电机。早在十九纪诞生电机的时候,产生的实用性电机就是无刷形式,即交流鼠笼式异步电动机,这种电动机得到了广泛的应用。
  • 半导体制冷片
    半导体制冷片
    +关注
  • 声纹识别
    声纹识别
    +关注
    声纹识别,生物识别技术的一种,也称为说话人识别,包括说话人辨认和说话人确认。声纹识别就是把声信号转换成电信号,再用计算机进行识别。不同的任务和应用会使用不同的声纹识别技术,如缩小刑侦范围时可能需要辨认技术,而银行交易时则需要确认技术。
  • 零序
    零序
    +关注
  • ATmega16单片机
    ATmega16单片机
    +关注
  • 直流电压
    直流电压
    +关注
    凡是电流方向不随时间变化的电流称为直流电压。电流值可以全为正值,也可以全为负值。在直流电流中又可分为两种:稳恒直流和脉动直流。直流输电技术已经由简单的端对端工程朝着大规模多端输电的方向发展,这些工程将是未来直流电网的组成部分,将相同电压等级的直流工程连接成网远比不同电压等级下的独立工程更经济、便捷。
  • LPC2368
    LPC2368
    +关注
  • 缓冲电路
    缓冲电路
    +关注
  • Buck-Boost
    Buck-Boost
    +关注
    buck是降压型电路,boost是升压型电路,可以分开单独使用,buck-boost电路就是把2种电路合在一起,可升可降。buck-boost拓扑电路可以实现升降压功能,常见的buck-boost电路有两种,第一种是输入与输出电压极性相反,只需采用一个开关管和二极管。另外一种是采用两个开关管和两个二极管,可实现同极性电压升降压功能。
  • 识别技术
    识别技术
    +关注
    所谓识别技术,也称为自动识别技术,通过被识别物体与识别装置之间的交互自动获取被识别物体的相关信息,并提供给计算机系统供进一步处理。
  • 制冷片
    制冷片
    +关注
  • 电磁继电器
    电磁继电器
    +关注
    电磁继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流、较低的电压去控制较大电流、较高的电压的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。
  • VCM
    VCM
    +关注

关注此标签的用户(29人)

一生温柔病 張159 ben111 jf_91473951 5661591yyc 何须畏 LcVong 重叠的烟火 caonima996 ZH13476636427 wocccccc 张新超

编辑推荐厂商产品技术软件/工具OS/语言教程专题