最近日本推出的反美颜应用Primo可能让感到不胜惶恐。其实,这样反人类的应用,你也能写出,不过必须了解的一些技术,就是计算机视觉。目前,计算机视觉库包括FastCV、OpenCV、JavaCV等。

相对来讲,OpenCV是一个较为成熟的视觉库,它包含了Harris、SURF、SIFT、FAST等算法,支持面向对象的C++ API,并可针对不同硬件进行优化,比如台式机、移动设备等。

JavaCV则是封装了OpenCV、libdc1394、OpenKinect、videoInput和ARToolKitPlus等计算机视觉编程人员常用库接口的库。如果开发的应用不需要增加用于处理图片的代码,那么可以使用JavaCV。但是如uoxuyao大量额外的用于图片处理的代码,那么Java会降低你的处理速度。

FastCV是专为移动设备进行了优化的一款计算机视觉库。开发者可以使用FastCV建立的计算机视觉应用程序所需的框架,Qualcomm的增强现实(AR)SDK就是一个很好的例子。FastCV可以为开发者的应用添加更多基于摄像头的功能,比如手势识别、文本识别、增强现实,以及人脸检测、跟踪与识别。

Qualcomm的Snapdragon系列(S2版本以上)是基于ARM架构开发的移动设备处理器。所以相应的,FastCV支持所有ARM处理器,并专为Qualcomm处理器进行了优化。

举一个例子,今年Qualcomm推出了骁龙805系列芯片。搭载这块芯片的Android手机可以实现“先拍照,后对焦”的功能,也就是说,用户可以通过点击照片中不同远近的物体,设置照片的焦点,这就利用到了FastCV。

iOnRoad应用截屏

iOnRoad是一款可以利用手机摄像头和内置GPS、加速度计、陀螺仪获取车辆速度、方向等信息的手机App,它还可以通过摄像头监测检测前方车辆和车道,当偏离车道或离前车过近时,会发出预警。这就是利用了FastCV对物体监测、跟踪的能力。尽管这款应用是2012年FastCV刚刚发布时,由开发者开发的。但据官方介绍,利用FastCV后,性能提升了10% - 15%,两天就完成了开发。

其实,计算机视觉不仅仅可以应用于拍照、AR,或其他与摄像头相关的手机应用上,对于机器人这个新兴领域也很重要。比如在今年Uplinq大会上,开发者展出了一款机器人产品,它采用了Snapdragon 600处理器,能很好的支持FastCV视觉计算库,利用摄像头识别、跟踪物体。

了解更多FastCV及Qualcomm技术信息,请访问Qualcomm开发者专区

AR、美颜、机器人:计算机视觉库几乎无所不在的更多相关文章

  1. 介绍n款计算机视觉库/人脸识别开源库/软件

    计算机视觉库 OpenCV OpenCV是Intel®开源计算机视觉库.它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法. OpenCV 拥有包括 300 多个 ...

  2. 计算机视觉库 SimpleCV

    SimpleCV首页.文档和下载 - 计算机视觉库 - 开源中国社区     计算机视觉库 SimpleCV 编辑/纠错    分享到     新浪微博腾讯微博    已用    +0    收藏 + ...

  3. c#计算机视觉库openCVSharp

    作为研究计算机视觉的一员,大家肯定对Intel大名鼎鼎的openCV系列计算机视觉库耳熟能详,对于很多人来说openCV甚至已经成为其项目研究不可缺少的一部分.但是,由于项目兼容性的要求.openCV ...

  4. 64位Win7下编译Python3的计算机视觉库:OpenCV

    注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) OpenCV目前最新版是3.0.0 rc1,官方给出了编译好的Python2可以直接使用 ...

  5. OpenCV(Open Source Computer Vision Library)计算机视觉库

    OpenCV(最基本的滤波到高级的物体检测皆有涵盖) 简介: OpenCV 是跨平台的,可以在  Windows.Linux.Mac OS.Android.iOS 等操作系统上运行. OpenCV 的 ...

  6. 打包静态库.a文件的方法(ar,ranlib,nm命令介绍)

    一 常用脚本 1 打包脚本 脚本如下,下面附上ar 和 ranlib命令参考(命令来自于网络) ALLLIB=*.aFILE=`ls *.a`#原来的库解压重命名 for F in $FILEdo   ...

  7. 创建并使用静态库(ar 命令)

     创建并使用静态库(ar 命令)            archive命令的功能是:创建或改动归档文件或者从归档文件里析取信息.能够简单的理解为一个打包工具,将成员文件依照一定的规则构建到.a文件里, ...

  8. 值得推荐的C/C++框架和库

    值得推荐的C/C++框架和库 [本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm]留作存档 下次造轮子前先看 ...

  9. [转载]C/C++框架和库

    C/C++框架和库 装载自:http://blog.csdn.net/xiaoxiaoyeyaya/article/details/42541419 值得学习的C语言开源项目 Webbench Web ...

随机推荐

  1. @synthesize的使用

    利用@synthesize可以给在.m文件中给.h文件中的属性重新定义新的名称如 @synthesize firstname = anothername:firstname是在.h文件中定义的,新定义 ...

  2. error: Apostrophe not preceded by \

    解决方案为:在编译出错提示中找到相关的string.xml文档,在string标签中的字符串含有单引号(')前面,加上反斜杠(\)转义即可.

  3. 关于python3 OpenCV的安装和配置

    开发环境,win7 32bit, Anaconda3.之前尝试pip安装,但是总是不成功.后来,交流群里面废帝大神让我用conda安装,之后按照conda install --channel http ...

  4. Python命名规范

    Python 标识符 参见:https://docs.python.org/3/reference/lexical_analysis.html?highlight=identifier#identif ...

  5. Swift:函数和闭包

    函数 函数是一个完成独立任务的代码块,Swift中的函数不仅可以像C语言中的函数一样有函数的参数和返回值,而且还支持嵌套,并且有函数参数默认值.可变参数等. //定义一个函数,注意参数和返回值,如果没 ...

  6. 【大胃王】2013暴食女王巅峰战(安吉拉x三宅x正司x木下)熟肉+高能

    一边说着“不可以还没试就先放弃”,一边认真吃饭的女生真的让人抵抗不了啊. http://www.bilibili.com/video/av2395980/

  7. 10、C#基础整理(集合)

    集合 1.集合的引用 using System.Collections;//添加类 2.定义集合(ArrayList 或 Array) ArrayList arr = new ArrayList(); ...

  8. 4、C#基础整理(if语句经典习题)

    1.用 if 判断输入的是否是空格键的方法:(Console.ReadKey()的用法) ConsoleKeyInfo readkey = Console.ReadKey(); Console.Wri ...

  9. eclipse如何连接oracle 11g数据库

    1.首先先建立一个项目DB,右键点击DB,选择Build Path-->Configure Build Path进入 通过Add External JARs..选择D:\orcl\app\hr\ ...

  10. magento additional & details 分解开来

    <?php foreach ($this->getChildGroup('detailed_info', 'getChildHtml') as $alias => $html):?& ...