• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > 奇思妙想-用HTML5进行人脸识别

奇思妙想-用HTML5进行人脸识别

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5教程,HTML5中国,奇思妙想-用HTML5进行人脸识别,html5cn,html5资料,html5文章,ht等相关知识,匿名希望在学习及工作中可以帮助到您
今天发现一篇文章写的很有趣,叫你如何使用HTML5进行人脸识别。在网页内进行人脸识别,很好很强大!

“现代Web”不断发展出不少有趣的API,但你并不会在大多数项目中使用到所有的内容。例如我一直特别关注Canvas特性。它对游戏和绘图意义重大 – 但是仅此而已。它并不是一个不好的特性,我只是不会经常用到它。每当看到一些开发中酷炫的新功能,我的大脑里都会思考它们可以产生哪些实际用途。显然对你有价值的内容可能对我来说并不一定,但搞清楚我如何实际使用一个功能是我学习它的一部分。

其中的一个特性是getUserMedia( W3C规范 )。它是一个JavaScript API,可以让你访问(需要权限)用户的网络摄像头和麦克风。 目前Opera和Chrome(我相信现在的版本18可以支持,但是你可能需要使用Canary。你还需要启用它。这儿有一个说明。)一旦你启用了getUserMedia,它使用起来相当简单。这里有一个快速的访问请求:

//a video tag
var video = document.getElementById(‘monitor’);

//request it
navigator.webkitGetUserMedia(‘video’, gotStream, noStream);

function gotStream(stream) {

video.src = webkitURL.createObjectURL(stream);
video.onerror = function () {
stream.stop();
streamError();
};
}

function noStream() {
document.getElementById(‘errorMessage’).textContent = ‘No camera available.’;
}

function streamError() {
document.getElementById(‘errorMessage’).textContent = ‘Camera error.’;
}

getUserMedia的第一个参数是类型。根据规范,这应该是一个对象,你可以启用音频、视频,或两者兼而有之,像这样:{audio:true, video:true}。然而在我的测试中,传递一个字符串“video”也可以正常工作。你将看到的演示基于另一个演示,所以代码来自于一个较早的Chrome下的版本。第二个和第三个参数是操作成功和失败的回调函数。

你可以看到操作成功的事件处理函数将视频流分配给HTML5 Video标签。最酷的是,一旦运行起来,你就可以使用Canvas API来拍照。对于这个演示,可以看看Greg Miernicki的Demo:http://miernicki.com/cam.html

如果这个Demo无法工作,可以按照下面的说明来开启getUserMedia支持后再次进行尝试。(虽然我打算分享一些屏幕截图,所以如果你只是想继续阅读,那也没关系。)

基于Greg的Demo,我突然想到可以用网络摄像头的照片做一些很酷的东西。我记得Face.com有一个非常酷的API来解析脸部的图片。(我11月曾经在博客里写了一个ColdFusion的例子。)然后我在想,是否我们能把Greg的Demo与Face.com的API结合起来做一些基本面部识别的Demo。

这有这几个重大问题。 第一 – Face.com有一个很好的REST API,我们将如何从JavaScript应用程序里面来调用它?其次 – Face.com需要你可以上传图片,或给它一个网址。 我知道可以把一个Canvas图片发送给服务器,并通过我的后台上传到Face.com,但有没有办法绕过服务器来把图片发送给这个API?

第一个实际上并不是问题。Face.com实现了CORS(跨域资源共享)。CORS系统基本上可以让服务器暴露给其它域上文件的Ajax调用。这是一个伟大的功能,我希望更多的服务能够使用它。

更复杂的问题则是如何把画布上的数据发送到Face.com(注:还可以参考我的这篇文章《如何使用HTML5实现拍照上传应用》)。我如何模拟文件上传?这里有另一个很酷的新技巧 – Formdata。ColdFusion的研究员Sagar Ganatra关于这个话题有一篇很棒的博客。下面展示了我如何使用它:

function snapshot() {
$(“#result“).html(“

Working hard for the money…

“);

canvas.width = video.videoWidth;
canvas.height = video.videoHeight;
canvas.getContext(’2d’).drawImage(video, 0, 0);

var data = canvas.toDataURL(‘image/jpeg’, 1.0);
newblob = dataURItoBlob(data);

var formdata = new FormData();
formdata.

您可能想查找下面的文章:

  • 一款利用html5和css3动画排列人物头像的实例演示
  • html5教程调用绘图api画简单的圆形代码分享
  • html5教程画矩形代码分享
  • html5教程制作简单画板代码分享
  • html5基础教程常用技巧整理
  • html5教程-Canvas入门
  • html5教程画矩形代码分享
  • HTML5晃动DeviceMotionEvent事件
  • HTML5教程之html 5 本地数据库(Web Sql Database)
  • HTML5中对contenteditable属性的解释与规定

相关文章

  • 2018-12-03HTML5中的nav标签的详解
  • 2018-12-03H5怎样用绘制五角星
  • 2018-12-03html5 track标签是什么意思?html5 track标签的使用方法介绍
  • 2018-12-03HTML5 对各个标签的定义与规定:aside
  • 2018-12-03HTML5 Canvas锯齿图代码实例_html5教程技巧
  • 2018-12-03招聘时如何鉴定WEB前端和后端程序员的能力?
  • 2018-12-03HTML5 Canvas实现文本对齐的方法总结_html5教程技巧
  • 2018-12-03html5 自定义播放器核心代码_html5教程技巧
  • 2018-12-03HTML5 UTF-8 中文乱码的解决方法_html5教程技巧
  • 2018-12-03详细介绍HTML5使用Audio标签实现歌词同步的效果

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5之SVG 2D入门7—SVG元素的重用与引用_html5教程技巧
    • canvas游戏开发学习之三:绘制复杂形状
    • HTML5实践-图片设置成灰度图_html5教程技巧
    • svg中<marker>元素的使用及marker属性的介绍
    • HTML 5离线存储之Web SQL
    • 详解html5 canvas常用api总结(二)--绘图API
    • HTML5的hidden属性兼容老浏览器的方法_html5教程技巧
    • 移动端meta行的汇总
    • 在H5页面中怎样调用APP
    • 零基础学习HTML5

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有