js实现初始化调用摄像头
<%@ 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实现初始化调用摄像头的更多相关文章
- 使用js调用摄像头拍照
在一些浏览器里已经可以使用web api调用摄像头功能了. 基于此可以经行拍照摄像功能,网上找了些资料,然后实现了简单的拍照功能 演示地址 bingxl.cn/webrtc.html 代码 <! ...
- 微信公众号开发调用摄像头、拍摄或选择图片、OCR识别
一 .准备工作 <1> 域名认证准备工作 在需要调用摄像头的接口页面引入微信的js,具体地址为:(支持https):http://res.wx.qq.com/open/js/ ...
- [转]html5调用摄像头实例
原文:https://blog.csdn.net/binquan_liang/article/details/79489989 最近在学习在做HTML5的项目,看了博客上html5调用摄像头拍照的文章 ...
- C/C++ OpenCV读取视频与调用摄像头
原文:http://blog.csdn.net/qq78442761/article/details/54173104 OpenCV通过VideoCapture类,来对视频进行读取,调用摄像头 读取视 ...
- 转载 iOS js oc相互调用(JavaScriptCore) --iOS调用js
iOS js oc相互调用(JavaScriptCore) 从iOS7开始 苹果公布了JavaScriptCore.framework 它使得JS与OC的交互更加方便了. 下面我们就简单了解一下这 ...
- 调试opencv调用摄像头程序时碰到的问题
昨天晚上想把opencv学习笔记整理一下,当跑opencv调用摄像头的程序的时候老是出现Assertion failed (size.width>0 && size.height ...
- C# - VS2019调用AForge库实现调用摄像头拍照功能
前言 作为一名资深Delphi7程序员,想要实现摄像头扫描一维码/二维码功能,发现所有免费的第三方库都没有简便的实现办法,通用的OpenCV或者ZXing库基本上只支持XE以上的版本,而且一维码的识别 ...
- C#调用摄像头(AForge)实现扫描条码解析(Zxing)功能
网上找了很多代码,都比较零散,以下代码纯自己手写,经过测试.下面有链接,下载后可以直接使用. 介绍: 自动识别:点击Start按钮会调用PC摄像头,代码内置Timer,会每100毫秒识别一下当前摄像头 ...
- Android 调用摄像头功能【拍照与视频】
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/ma_hoking/article/details/28292973 应用场景: 在Android开发 ...
随机推荐
- 汇编语言 简单的Hello World
DATA SEGMENT STRING DB 'Hello World!','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV ...
- 按图索骥,一些mysql知识点
有事没事多看看 基础知识考察 基础知识,尤其是一些理论知识,例如: MySQL有哪些索引类型,这是个半开放式命题: 从数据结构角度可分为B+树索引.哈希索引.以及不常用的FULLTEXT索引(现在My ...
- 根据ip查询ip归属地
http://www.oschina.net/code/snippet_944819_33978 http://www.jb51.net/article/54287.htm public String ...
- 【Mac】anaconda自定义channels
1.查看channels conda config --show channels 输出 channels: - defaults 2.添加channels conda config --add ch ...
- Pyqt5_QtextEdit
QtextEdit QTextEdit类是一个多行文本框控件,可以显示多行文本内容,当文本内容超出控件显示范围时,可以显示水平个垂直滚动条,Qtextedit不仅可以用来显示文本还可以用来显示HTML ...
- js操作html的基本方法
刚学了js操作html的基本方法,在写代码过程中,有很多格式不规范,忘记加双引号尤其重要,通常这 样的错误很容易范,并且这种错误很难找.随着代码学习量越来越多,很多写法容易搞混.今天记录一下,以便后期 ...
- var、let、const三者的区别
var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问. let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问. const用来定义常量,使用时必须初始化(即必须赋值),只能 ...
- 一看就懂之吐血整理的 Docker 学习笔记
前言 随着devops的兴起,Docker 近年来越来越火,容器化概念也越来越火.此篇将带你瞬间入门Docker. Docker 概述 Docker 出现的背景 在我们的开发过程中,通常是这样的一种流 ...
- C/C++多参数函数参数的计算顺序与压栈顺序
一.前言 今天在看Thinking in C++这本书时,书中的一个例子引起了我的注意,具体是使用了下面这句 单看这条语句的语义会发现仅仅是使用一个简单的string的substr函数将所得子串pus ...
- 数据库原理实验指导(三)使用SQL语言进行简单查询【转载csdn】
--1.查询全体学生的学号和姓名select sno,sname from student --2.查询全体学生的详细记录select * from student --3.查询软件学院的学生姓名,年 ...