<%@ page language="java" import="java.util.*"  pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>人脸识别</title>
<style type="text/css">
*{
margin:0;padding:0;
}
body{
font-size:12px;
font-family:"微软雅黑";
}
/* message start */
.message{color:red;text-align:center;font-size:25px;font-weight:bold;margin:30px auto;}
/* end message */
/* content start */
.content{height:600px;width:800px;margin:100px auto 0px;position:relative;overflow:hidden;}
.content .f_scan{width:100%;height:100%;background:url(images/intro.png) no-repeat;background-size:cover;position:absolute;}
/*end content *
/* btn start */
#btn{width:280px;height:50px;border-radius:25px;margin:80px auto;
background:#66cc66;font-size:22px;text-align:center;line-height:50px;
color:#fff;display:block;text-decoration:none;}
#btn:hover{background:#ff9999;}
/*end btn */
#canvas{border:1px solid red}
</style>
</head>
<body>
<div class="message"></div>
<div class="content">
<video id="video" width="800" height="600"></video>
<canvas id="canvas" width="800" height="600"></canvas>
<div class="f_scan"></div>
</div>
<div id="btn">人脸识别</div>
</body>
<script type="text/javascript" src="js/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
$(function(){
var video = document.getElementById("video");
var canvas = document.getElementById("canvas");
init_getvideo();
$("#btn").click(function(){
scan();
var context = canvas.getContext("2d"); context.drawImage(video,0,0,800,600); var base = canvas.toDataURL("image/png");
var base64 = base.split("64,")[1]; $.ajax({
type:"post",
url:"register.jsp",
data:{"imgBase64":base64},
success:function(data){
if(data){
window.location.href = "http://www.itstaredu.com/";
} else {
$(".message").html("你长得太丑了!");
} } }); }); });
//初始化调用摄像头
function init_getvideo(){
var video = document.getElementById("video");
//navigator浏览器得到内置对象
var getUserMedia = (navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia);
getUserMedia.call(navigator,{
video:true,
audio:false
},function(LocalMediaStream){
//将摄像头的流媒体赋值给video标签src地址
video.src = window.URL.createObjectURL(LocalMediaStream);
video.onloadedmetadata = function(e){//加载元数据
video.play();
}
},function(e){
console.log("获取流媒体错误",e);
}); }; //图像扫描
function scan(){
var box = $(".content");
$(".f_scan").css({"bottom":box.height()}).animate(
{bottom:0},2000,function(){
$(this).css({"bottom":box.height()})
});
} ; </script>
</html>

  

js实现初始化调用摄像头的更多相关文章

  1. 使用js调用摄像头拍照

    在一些浏览器里已经可以使用web api调用摄像头功能了. 基于此可以经行拍照摄像功能,网上找了些资料,然后实现了简单的拍照功能 演示地址 bingxl.cn/webrtc.html 代码 <! ...

  2. 微信公众号开发调用摄像头、拍摄或选择图片、OCR识别

     一 .准备工作       <1> 域名认证准备工作 在需要调用摄像头的接口页面引入微信的js,具体地址为:(支持https):http://res.wx.qq.com/open/js/ ...

  3. [转]html5调用摄像头实例

    原文:https://blog.csdn.net/binquan_liang/article/details/79489989 最近在学习在做HTML5的项目,看了博客上html5调用摄像头拍照的文章 ...

  4. C/C++ OpenCV读取视频与调用摄像头

    原文:http://blog.csdn.net/qq78442761/article/details/54173104 OpenCV通过VideoCapture类,来对视频进行读取,调用摄像头 读取视 ...

  5. 转载 iOS js oc相互调用(JavaScriptCore) --iOS调用js

    iOS js oc相互调用(JavaScriptCore)   从iOS7开始 苹果公布了JavaScriptCore.framework 它使得JS与OC的交互更加方便了. 下面我们就简单了解一下这 ...

  6. 调试opencv调用摄像头程序时碰到的问题

    昨天晚上想把opencv学习笔记整理一下,当跑opencv调用摄像头的程序的时候老是出现Assertion failed (size.width>0 && size.height ...

  7. C# - VS2019调用AForge库实现调用摄像头拍照功能

    前言 作为一名资深Delphi7程序员,想要实现摄像头扫描一维码/二维码功能,发现所有免费的第三方库都没有简便的实现办法,通用的OpenCV或者ZXing库基本上只支持XE以上的版本,而且一维码的识别 ...

  8. C#调用摄像头(AForge)实现扫描条码解析(Zxing)功能

    网上找了很多代码,都比较零散,以下代码纯自己手写,经过测试.下面有链接,下载后可以直接使用. 介绍: 自动识别:点击Start按钮会调用PC摄像头,代码内置Timer,会每100毫秒识别一下当前摄像头 ...

  9. Android 调用摄像头功能【拍照与视频】

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/ma_hoking/article/details/28292973 应用场景: 在Android开发 ...

随机推荐

  1. 4.4 Go goto continue break

    4.4 Go goto continue break Go语言的goto语句可以无条件的跳转到指定的代码行执行. goto语句一般与条件语句结合,实现条件转义,跳出循环体等. Go程序不推荐使用got ...

  2. redis python操作api

    redis单例数据库 #redis单例连接 ''' redis-server redis_diy.conf ''' import redis conn=redis.StrictRedis(host=' ...

  3. 1.scrapy框架

    Scrapy 是一个基于 Twisted 的异步处理框架.异步就是说调用在发出之后,这个调用就直接返回,不管有没有结果.(非阻塞关注的是程序在等待调用结果(消息.返回值)时的状态,指在不能立刻得到结果 ...

  4. Spring_bean作用域

    本篇介绍Spring Bean实例的作用范围,Spring Bean实例的作用范围由配置项scope限定.通过本篇的学习,可以达成如下目标. ● 应用scope配置项配置Bean的作用域 ● 应用单例 ...

  5. vue 下拉列表动画

    点击可以收起,这里注意先给需要收起展开的的容器设置高度,通过样式v-enter和v-leave-to设置结束和开始前的就可以了

  6. SD.Team主题形象小人偶

              W e ♥ S D     ♫ ♪ 咔咔咔~可能源码冲突会造成小人偶光头 :)

  7. 同步锁Lock & 生产者和消费者案例

    显示锁 Lock ①在 Java 5.0 之前,协调共享对象的访问时可以使用的机 制只有 synchronized 和 volatile . Java 5.0 后增加了一些 新的机制,但并不是一种替代 ...

  8. 7z命令行简单使用

    7z命令行简单使用 网上有很多博客都有记录7z的命令行使用方式,但看起来乱起八糟的,不知所云. 急于使用者可以直接看实例 注:我仅仅记录我认为常用的命令,毕竟没有那么多的精力去学习不常用的东西. 简介 ...

  9. 多用户vps管理面板怎么安装,有没有好用的vps管理工具

    一.VPS安装VPSMate控制面板步骤 1.使用SSH连接到VPS.使用命令获取VPSMate安装包: wget   http://www.vpsmate.org/tools/install.py ...

  10. Jupyternotebook添加c++核心支持的配置过程

    一.环境:虚拟机:(1)系统:centos7.5_1804(64bit)版本(2)软件环境:git.python3.5.3.Jupyter4.4.0二.下载安装脚本:资源及安装说明:https://g ...