最近日本推出的反美颜应用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. 2016 - 1 - 3 国旗选择demo

    // // ViewController.m // 国旗 // // Created by Mac on 16/1/3. // Copyright © 2016年 Mac. All rights re ...

  2. UILabel自适应宽度的函数详解

    之前用Text Kit写Reader的时候,在分页时要计算一段文本的尺寸大小,之前使用了NSString类的sizeWithFont:constrainedToSize:lineBreakMode:方 ...

  3. jQuery轮播图

    yii2 轮播 样式: <style type="text/css"> *{margin:0;padding:0} body{margin:50px} li{list- ...

  4. Squid代理之反向代理

    (一) 为Internet用户访问企业Web站点提供缓存加速. 1 关闭防火墙

  5. HTML中使用CSS的方法

    行内样式表 <html> <head> <title>行内样式表</title> </head> <body> <p st ...

  6. html释疑

    解析<button>和<input type="button"> 的区别(转) 一.定义和用法 <button> 标签定义的是一个按钮. 在 b ...

  7. matlab norm的使用

    格式:n=norm(A,p)功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释 NORM Matrix or vector n ...

  8. 《深入浅出Node.js》第2章 模块机制

    @by Ruth92(转载请注明出处) 第2章 模块机制 JavaScript 先天缺乏的功能:模块. 一.CommonJS 规范: JavaScript 规范的缺陷:1)没有模块系统:2)标准库较少 ...

  9. PAT (Basic Level) Practise:1005. 继续(3n+1)猜想

    [题目链接] 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对n=3进 ...

  10. 初始化IoC容器(Spring源码阅读)-我们到底能走多远系列(31)

    我们到底能走多远系列(31) 扯淡: 有个问题一直想问:各位你们的工资剩下来会怎么处理?已婚的,我知道工资永远都是不够的.未婚的你们,你们是怎么分配工资的? 毕竟,对自己的收入的分配差不多体现了自己的 ...