opencv 脸部识别开源软件

2023-11-12

转自:http://baike.baidu.com/link?url=La63ZsuqOW1YdyW5UAHQ5zDphzSB58-IcC1SUl2Njit4T0frWPrjflJIuk66RydifpPMBJ50HETrZhr5NrhrU_

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++ 类构成

1定义编辑

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]  

2历史发展编辑

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系统和单片机系统中,这种移植在大学中经常作为相关专业本科生毕业设计或者研究生课题的选题。

3优势编辑

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

4应用领域编辑

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

5其他相关编辑

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

6编程语言编辑

OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#,Ch, Ruby的支持。
所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现。

7系统支持编辑

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获得。

8版本发布编辑

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版本发布。 [3]  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

opencv 脸部识别开源软件 的相关文章

  • Crunchfish发布XR Skeleton手势交互解决方案

    转自 https baijiahao baidu com s id 1677811512042412943 wfr spider for pc 移动交互解决方案开发商Crunchfish日前发布了名为XR Skeleton的手势控制技术 只
  • OSX 10.8 登录项

    我找到了这个在 Package Maker 安装程序 postflight 脚本期间将应用程序添加到 OSX 登录项 但它似乎不适用于 OSX 10 8 这是来自另一个问题 适用于其他所有问题 defaults write Library
  • 如何在 Struts 2 中使用 DispatcherListener

    有一个界面DispatcherListener在Struts2中 文档说 一个接口来标记那些想要在init and destroy of a Dispatcher 但是这个接口怎么用呢 如果我创建一个实现这个接口的类 我应该如何将它配置到S
  • 我的日食今天停止工作了

    今天我遇到了 Eclipse 的问题 就像每次我关闭一个项目时都会弹出一个窗口 上面写着 保存工作空间时出错 并抱怨 apache xerces 我决定下载全新安装 但现在它甚至无法启动 我尝试了许多变体 经典 javase c 希望存在一
  • 检查启动条件

    我想测试 ASP Net Core 2 0 应用程序启动时的某些条件 例如 如果我的数据库服务器或其他服务器运行正常 这对于仅在请求后才会实例化的事物 例如我的存储库 特别有用 目前我必须手动执行此请求 但我希望我的应用程序尽早失败 建议在
  • 如何在 OSX 上自动加载 R 中的设置?如何找到R_HOME、配置Rprofile.site等?

    我有一台 Macintosh 我试图自动加载包 自制函数 并在每次启动 R 时使用修改后的设置 我相信这可以通过名为 Rprofile site 的文件并创建函数 First 和 Last 来完成在该文件中 一个问题是 我不知道我的 R H
  • 有没有办法在 J2EE 服务器启动上做一些事情?我正在使用 Tomcat [重复]

    这个问题在这里已经有答案了 我正在尝试让 J2EE 服务器主动向另一台服务器注册 即发送一些消息 而不是作为对某些内容的响应 令人惊讶的是 我发现很少有关于是否有事件和 或类可以扩展的信息或问题 这些事件和 或类可以让我处理 服务器启动 我
  • HAProxy 无法启动,无法绑定 UNIX 套接字 [/run/haproxy/admin.sock]

    我尝试使用 空 配置文件启动 haproxy 版本 1 5 8 2014 10 31 我得到 user server sudo service haproxy start Starting haproxy haproxy ALERT 126
  • UWP 应用程序在启动时自动启动

    一切都在标题中 我目前正在寻找一种方法来启动我的UWP app 自动地仅使用 UWP 框架启动 Windows 时 计算机上没有文件操作 该应用程序必须能够在应用商店中共享并在 Windows 启动时打开 这是一件可行的事情吗 如果是这样怎
  • XServer启动后运行shell脚本? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何在 XServer 和 lightdm 启动时运行 shell 脚本 我尝试在 etc 目录中使用 init d 和 rc local
  • iPhone 应用程序启动

    如何让我的 iPhone 应用程序每次都在同一位置启动 即我的 主 屏幕 我不希望用户回到上次玩游戏时的位置 就在游戏过程中 但这就是正在发生的事情 预先感谢您的任何提示 您需要设置UIApplicationExitsOnSuspend输入
  • 加快 Spring Boot 启动时间

    我有一个 Spring Boot 应用程序 我添加了很多依赖项 不幸的是 看起来我需要所有这些依赖项 并且启动时间增加了很多 只是做一个SpringApplication run source args 需要 10 秒 虽然与 习惯 相比
  • 如何在每次启动Python时运行Python命令

    我想知道如何在每次启动 python 解释器时运行一个或多个命令 有没有办法在 python 中实现这一点 就像 Linux unix 上的 bashrc 或 profile 文件一样 您可以设置一个环境变量PYTHONSTARTUP指向包
  • 脚本在 PyCharm 中运行,但不是从命令行运行

    当我尝试从 PyCharm IDE 运行我的程序时 一切正常 但如果我输入 Fedora python myScript py 在 shell 提示符中 我从模块 1 中收到导入错误 ImportError No modue named m
  • 如何更改加载浏览器外 Silverlight 3 应用程序的背景颜色?

    在浏览器外运行 Silverlight 3 应用程序时 启动需要一点时间 但时间足够长 足以引起人们的注意 在此启动期间 托管应用程序的窗口的背景显示丑陋的白色背景颜色 在浏览器中运行时 我们有一个启动屏幕 但它当然是通过 JavaScri
  • 启动没有 Activity 的 Android 应用程序

    我有一个旨在仅作为服务运行的应用程序 没有界面 仅在后台运行 我的 AndroidManifest xml 中没有提到任何活动 但放置了一个接收器以在手机启动时启动应用程序
  • 如何捕获Tomcat启动日志

    如何捕获Tomcat启动日志 要在Windows中启动Tomcat 可以执行命令 卡塔琳娜运行 在你的 tomcat bin 文件夹中 Tomcat 启动的输出将保留在当前窗口中 以便您可以对其进行分析
  • 将符号链接添加到脚本到 rc.d 文件夹中以在系统启动期间启动进程[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我使用的是 Fedora 15 我正在尝试添加 MYSql 守护进程以在系统启动期间启动 我明白我必须将其添加到rc5 d因为它是默认目标并且是gra
  • 如何在 Octave 中永久加载包?

    我在 Windows vista 上使用 Octave 我在代码中使用 4 个包 但是每次我重新启动八度音程时 我都必须从命令行手动加载 pkg load 有没有办法永久加载它们 以便每当 Octave 启动时它都会在其路径中找到它们 当
  • 启动时系统托盘图标不出现

    我在 FormCreate 事件处理程序中使用以下代码来创建系统托盘图标 当我运行程序时 系统托盘图标显示正常 我将应用程序设置为在 Windows 启动时自动启动 当我重新启动计算机时 我的应用程序进程已启动 但系统托盘图标从未出现 我认

随机推荐

  • python读取mongoDb数据库保存到Excel CSV中

    import xlwt import pymongo import pandas as pd import xlsxwriter as xw 连接mongodb数据库 client pymongo MongoClient localhost
  • 防火墙安全策略&&防火墙安全区域的划分

    给两台PC任意设置两个网段 并划分好trust和untrust区域 利用默认账号密码登录 账号 admin密码 Admin 123 然后自行随意修改密码 给防火墙的两个接口配上对应地址并放行 两个接口进行同样的操作 这个时候还是不能够通信
  • API接口设计规范

    说明 在实际的业务中 难免会跟第三方系统进行数据的交互与传递 那么如何保证数据在传输过程中的安全呢 防窃取 除了https的协议之外 能不能加上通用的一套算法以及规范来保证传输的安全性呢 下面我们就来讨论下常用的一些API设计的安全方法 可
  • taro-vue3监听左滑/右滑手势退出

    一 业务背景 我做的是一个要货小程序 没有华丽的页面 没有购物车 就是在要货页面填写要货数量 然后跳转到预览页面 预览页面有保存和支付按钮 可以先点保存 再点支付 也可以直接点支付 支付的同时进行保存 问题 支付成功后直接跳转回菜单页面 但
  • pytorch利用resnet50实现cifar10准确率到95%以上

    目录 前言 代码 前言 因为课程需要 老师要求使用resnet18或者resnet50将cifar10训练到精度到达95 试过了网上其他很多方法 发现精度最高的是在预处理化的时候 图片resize到32 32 并且padding 4进行填充
  • elasticsearch 版本 2xx和5xx 及 elasticsearch5.x 新特性

    其实 elasticsearch5 x 和 elasticsearch2 x 并不区别很大 是因为 ELK里之前版本各种很混乱 直接升级到5 0了 其实 elasticsearch5 x 按理来说是elasticsearch3 x 只是为了
  • Pyside6 TableView 显示按钮 - QStyledItemDelegate 简单实现

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 目录 示例代码 效果图 参考链接 示例代码 coding utf 8 import sys from PySide6 QtCore import from PySide6 Q
  • 抓包工具tcpdump用法说明

    tcpdump采用命令行方式对接口的数据包进行筛选抓取 其丰富特性表现在灵活的表达式上 不带任何选项的tcpdump 默认会抓取第一个网络接口 且只有将tcpdump进程终止才会停止抓包 例如 shell gt tcpdump nn i e
  • 关于Java中代码块的执行顺序

    1 概念 代码块 使用 定义的一段代码 根据代码块出现的位置以及关键字不同 分为以下四种代码块 普通代码块 直接定义在方法内部 不加任何修饰符定义的代码块 解决变量重名问题 构造块 直接定义在类中 使用 的代码块 静态代码块 一般用于初始化
  • vue2项目引入vue-video-player

    直接安装npm install vue video player save报错 指定版本 npm install vue video player 5 0 1 save vue video player 其实就是 video js 集成到
  • Spring集成Mybatis时的常见报错

    这两个框架集成的时候最常见的是各种映射文件无法对应而引发的报错 根据不同的报错可以优先检查对应的位置 这样才能快速解决问题 1 找不到mybatis的映射文件 如下图 在定义SqlSessionFactoryBean 要注意对应关系 注意
  • ps太卡怎么办?几步帮您解决问题

    PS是一款非常常用的绘图软件 但是有些小伙伴感觉用PS会卡顿 可是电脑的配置也不是很低 排除PS本身的问题后 这种情况往往和ps里的基础设置有关 下面来看看该如何解决PS卡顿的问题吧 1 停用 主页 屏幕 现在很多小伙伴都用上了新版ps 新
  • 我的程序员之路进行中

    计划看的书 1 Windows程序设计 第5版珍藏版 1104页 2 Windows程序设计 第2版 王艳平 扫描版 490页 3 Windows核心编程 第5版 769页 4 竹林蹊径 深入浅出windows驱动开发 506页 5 Win
  • Mybatis小技巧之使用自动生成的主键值

    文章目录 一 需求 1 编写接口 2 编写mapper配置文件 3 测试程序 4 运行结果 一 需求 在数据库种类似id这样的主键值都是自动增长的 但是如果有这样的需求时 插入一条记录后 自动生成了主键 而这个主键需要在其他表中使用时 此时
  • 关联分析算法(一)——Apriori(先验算法)

    算法思路简介 Apriori根据原始的销售表 第一步 列出所有元素 所有元素独立组成一个集合 计算每个集合的支持度 然后根据最小支持度的阈值剔除掉小的支持度的集合 第二步 每个集合都增加一个与原有集合中没有的元素 构成多个新的集合 计算每个
  • ARM 汇编基础知识

    1 为什么学习汇编 我们在进行嵌入式 Linux 开发的时候是绝对要掌握基本的 ARM 汇编 因为 Cortex A 芯片一 上电 SP 指针还没初始化 C 环境还没准备好 所以肯定不能运行 C 代码 必须先用汇编语言设置好 C 环境 比如
  • 容联云通讯完成发送验证码

    容联云通讯完成发送验证码 不是广告 真人编写 学习记录分享而已 容联云通讯官方网站 https www yuntongxun com 进入网站后 找到测试号码 绑定测试的手机号 最多绑定是三个 第二部 查找相关语言demo 以及SDK 点击
  • 后渗透系列之windows文件下载

    后渗透系列之windows文件下载 不知道你们在进行渗透时会不会遇到这样的问题 在进行后渗透时linux系统是可以使用wget命令进行文件下载的 在真实的渗透环境下往往拿到的都只是windows系统的一个命令行 那windows系统怎么做到
  • CentOS 7.5 离线安装 Nginx 1.18

    CentOS 7 5 离线安装 Nginx 1 18 整体情况介绍 准备阶段 安装步骤 详细步骤 准备 安装 整体情况介绍 操作系统 CentOS 7 5 Nginx版本 nginx 1 18 0 tar gz 说明 1 官网推荐的安装方式
  • opencv 脸部识别开源软件

    转自 http baike baidu com link url La63ZsuqOW1YdyW5UAHQ5zDphzSB58 IcC1SUl2Njit4T0frWPrjflJIuk66RydifpPMBJ50HETrZhr5NrhrU O