名词解释---opencv

OpenCV是一个开源的计算机视觉库,支持多种操作系统和编程语言,如Python、Ruby和MATLAB等。它包含500多个C函数,适用于图像处理和计算机视觉领域的多种算法。OpenCV的应用范围广泛,包括人机交互、物体识别、人脸识别等多个方面。
部署运行你感兴趣的模型镜像

opencv

编辑
OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和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月开始实现。
中文名
开源计算机视觉库
外文名
Open Source Computer Vision Library
简    称
opencv
功    能
提供Python、Ruby、MATLAB接口
结    构
C 函数和C++ 类构成

定义编辑

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

历史发展编辑

1999年1月,CVL项目启动。主要目标是人机界面,能被UI调用的实时计算机视觉库,为Intel处理器做了特定优化。
2000年6月,第一个开源版本OpenCV alpha 3发布。
2000年12月,针对linux平台的OpenCV beta 1发布。
2006年,支持Mac OS的OpenCV 1.0发布。
2009年9月,OpenCV 1.2(beta2.0)发布。
2009年10月1日,Version 2.0发布。
2010年12月6日,OpenCV 2.2发布。
2011年8月,OpenCV 2.3发布。
2012年4月2日,发布OpenCV 2.4。
2014年8月21日,发布OpenCv 3.0 alpha。
2014年11月11日,发布OpenCV 3.0 beta。
2015年6月4日,发布OpenCV 3.0。
OpenCV 使用类BSDlicense,所以对非商业应用和商业应用都是免费(FREE)的。(细节参考 license)。
OpenCV提供的视觉处理算法非常丰富,并且它部分以C语言编写,加上其开源的特性,处理得当,不需要添加新的外部支持也可以完整的编译链接生成执行程序,所以很多人用它来做算法的移植,OpenCV的代码经过适当改写可以正常的运行在DSP系统和单片机系统中,这种移植在大学中经常作为相关专业本科生毕业设计或者研究生课题的选题。

优势编辑

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

应用领域编辑

1、人机互动
2、物体识别
5、动作识别
7、机器人
8、运动分析
9、机器视觉
10、结构分析
11、汽车安全驾驶

其他相关编辑

作者列表可以在AUTHORS文件中找到。
此外,还有很多人给出了建议、补丁、BUG 报告等等,在文件THANKS中对此有一个不完全的列表。
想要了解OpenCV的新特征,请参考OpenCVChangeLog。
如果有问题,在Google中输入"OpenCV"搜索。
如果在安装/运行/使用OpenCV中遇到问题
1、阅读FAQ中文
2、在 OpenCV 邮件列表中搜索。
3、加入到 yahoo group 上的 OpenCV 邮件列表中(如何加入请参考 FAQs),并发送你的问题到邮件列表中。(这个邮件列表可能会迁移到OpenCV's SourceForge site)
4、参考 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获得。

版本发布编辑

2010年12月06日,OpenCV 2.2.0 正式版发布。 [6]  
2011年06月25日,OpenCV-2.3.0rc 发布了,新增加了一个stitching拼接模块,Android支持更加方便了,使用Google test框架,其他变化主要是内部性能改进。
2013年07月03日,OpenCV 2.4.6发布。
主要更新是关于手持设备方面的:
首先,OpenCV 2.3的Android build终于变成了官方支持的NDK-Build的方式了。以前的方法相当让人头疼,使用的非Android官方的方法去写JNI接口,tutorial跟着走一遍也不知道所以然。
其次,What’s new里面说道,新的Android支持是NVidia在开发。本来OpenCV就是支持CUDA显卡加速的。 [7]  
2013年12月31日,OpenCV 2.4.8发布。
2014年4月25日,OpenCV 2.4.9发布。
2014年8月21日,OpenCv 3.0 alpha版本发布。
2014年11月11日,OpenCv 3.0 beta版本发布。
2015年6月4日,OpenCV 3.0版本发布。

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### 关于 Root 和 Siton 的 IT 含义 #### **Root** 在 IT 领域中,“root”通常指代操作系统中的超级用户账户,具有最高权限。以下是其主要含义: - 在 Unix 或 Linux 系统中,`root` 是系统的管理员账号,拥有完全控制权,可以执行任何操作,包括管理文件系统、启动或停止服务以及安装软件等[^1]。 - `root` 还常用于描述目录结构的最顶层路径 `/`,即根目录。 #### **Siton** “siton”并不是标准的 IT 术语,在常见技术文档或框架中未有明确定义。然而,基于上下文推测,可能是以下几种情况之一: - 如果是一个用户名(如 `siton`),它可能代表某个开发者或用户的自定义名称。 - 若出现在特定项目路径中(如 `/home/siton/`),则表示该路径属于名为 `siton` 的用户主目录[^5]。 如果这是某种缩写或者专有名词,则需进一步确认具体的背景环境才能确切解释。 --- ### Python 文件无权限问题解决方案 针对提到的 Miniconda 中 python 文件丢失权限的情况,解决办法如下: - 使用命令赋予目标文件可执行权限: ```bash chmod +x /root/miniconda3/envs/python1/bin/python ``` 此操作会恢复被剪切移动后可能导致的权限缺失状况[^2]。 另外还需验证所属关系是否正确,必要时调整所有权给当前用户: ```bash chown root:root /root/miniconda3/envs/python1/bin/python ``` --- ### Java 抽象工厂模式解析及其应用案例 抽象工厂模式是一种常用的设计模式,适用于需要创建一系列相互关联的对象场景下。核心要点在于通过定义统一接口来封装不同家族产品的构建逻辑[^3]: 对于题目所提支持多种数据库连接实例化的需求,可以通过下面方式实现动态切换功能——以 MySQL 和 Oracle 数据库为例说明如何利用抽象工厂完成 Connection 和 Statement 对象生成过程。 代码示例展示如下: ```java // 定义公共接口 public interface DatabaseFactory { public Connection createConnection(); public Statement createStatement(); } // 实现MySQL的具体工厂类 public class MySQLDatabaseFactory implements DatabaseFactory{ @Override public Connection createConnection() { /* 返回mysql connection */ } @Override public Statement createStatement(){/*返回对应statement*/} } // 类似地为Oracle提供相应版本... public class OracleDatabaseFactory implements DatabaseFactory{/*同理*/ } // 测试部分 public static void main(String[] args){ String dbType="MYSQL"; // 假设由外部参数决定实际使用的DB类型 DatabaseFactory factory; switch(dbType.toUpperCase()){ case "MYSQL":factory=new MySQLDatabaseFactory();break; default : throw new IllegalArgumentException("Unsupported DB Type"); } var conn=factory.createConnection();// 动态获取connection资源 } ``` 上述例子清晰体现了抽象工厂的优势所在,便于扩展新的数据库种类而无需改动现有业务流程。 --- ### OpenCV 导入错误修复指南 当遇到类似于 `_ZN4absl12lts_2023080212log_internal9kCharNullE` 符号找不到的问题时,通常是由于缺少必要的依赖项引起。按照引用建议采取措施如下所示能够有效缓解此类现象的发生概率[^4]: - 添加额外仓库源以便顺利下载所需组件包; - 更新 pip 工具链并重置 opencv-python 库至最新稳定版次; 具体步骤罗列如下: ```shell sudo pacman -Sy xorg-xrandr # 替换为你平台适配指令 pip install --upgrade pip setuptools wheel pip uninstall opencv-python-headless && pip install opencv-contrib-python==<version> ``` 注意替换 `<version>` 参数值匹配本地运行条件最佳实践版本号信息。 --- ### PySOT 错误定位与修正技巧 关于 PySOT 测试阶段产生的断言失败异常 (AssertionError),源于图像读取过程中未能成功加载指定帧数据所致。依据反馈修改视频模块内部函数行为之后得以恢复正常运作状态: 编辑文件位置位于 `pysot/toolkit/datasets/video.py` 大约第十八行附近区域作出适当更改即可解决问题。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值