用Canvas定时显示摄像头捕获的画像(HTML5)
需要实现一个功能,大意嘛,就是标题写的那个意思。虽然用户只要求在微信中实现即可,也就是可以用JSSDK。但是前端小哥哥脑袋一根筋,就想用原生的H5和JS实现。
网上铺天盖地的资料,可惜没有一个是可以用的。对,你没看错,都是相互抄袭,都没验证一下。
托前端小哥哥的福,把demo代码完成。代码就寥寥几行,不详细解释,大家需要注意几点:
1、要让浏览器顺利唤起摄像头,域名必须是https
2、代码要正确,如下:
<video controls="controls" src="" id="demo" ></video>
<canvas id="canvas" width="500" height="500"></canvas> <script type="text/javascript">
var context = canvas.getContext("2d"); navigator.getMedia =(navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mediaDevices.getUserMedia || navigator.msGetUserMedia); var video = document.getElementById("demo");
navigator.getMedia({
video : true
},res=>{
video.srcObject = res;
video.play();
},function(){}); window.setInterval(function() {
context.drawImage(video, 0, 0, 375, 180);
}, 15);
</script>
鄙视无脑抄袭,鼓励求证分享。
用Canvas定时显示摄像头捕获的画像(HTML5)的更多相关文章
- 在Jetson TX2上捕获、显示摄像头视频
参考文章:How to Capture and Display Camera Video with Python on Jetson TX2 与参考文章大部分都是相似的,如果不习惯看英文,可以看看我下 ...
- qt上用opencv显示摄像头视频
参考:http://blog.csdn.net/augusdi/article/details/8865541 代码如下: 注意,要在ui界面上放置一个“Vertical Layout”控件,调整到合 ...
- win32 摄像头捕获系统vfw
//win32 摄像头捕获系统vfw // VideoRecord.h /// 用于定义一些资源ID #include "resource.h" //#define EXIT ...
- 使用OpenCV通过摄像头捕获实时视频并探测人脸
在Opencv初接触,图片的基本操作这篇手记中,我介绍了一些图片的基本操作,视频可以看作是一帧一帧的图片,因此图片操作其实是视频操作的基础,这篇手记就来讲讲OpenCV中的视频操作,并实现一个用笔记本 ...
- python opencv3 窗口显示摄像头的帧
git:https://github.com/linyi0604/Computer-Vision # coding:utf8 import cv2 """ 在窗口显示摄像 ...
- 在Jetson TX2上显示摄像头视频并使用python进行caffe推理
参考文章:How to Capture Camera Video and Do Caffe Inferencing with Python on Jetson TX2 与参考文章大部分都是相似的,如果 ...
- 如何在HTML5 Canvas 里面显示 Font Awesome 图标
Font Awesome 是一套完美的图标字体,主要目的是和 Bootstrap 搭配使用. 提供的CSS 已经可以完美显示这些图标在网页里面.最新的版本4.3 里面,已经提供519 Icon ...
- js定时显示广告代码
这是一则定时显示广告的javascript代码,当然也可以定时显示某一区块内容,很实用. 代码如下: function strToDate(str, ext) { if (str == null || ...
- opencv 显示摄像头数据
本文章是一个小例子,主要是在ubuntu 系统中利用Opencv 显示摄像头的数据 ,显示到对话框中. 1.建立一个 main.cpp #include<opencv2/core/core.h ...
随机推荐
- (二)POI-创建一个sheet页,并添加行列数据
原文:https://blog.csdn.net/class157/article/details/92800439 1.只创建sheet页 package com.java.poi; import ...
- Spark文档阅读之一:Spark Overview
Document: https://spark.apache.org/docs/latest/index.html 版本:2.4.5 1. spark的几种执行方式 1)交互式shell:bin/ ...
- 超详细Maven技术应用指南
该文章,GitHub已收录,欢迎老板们前来Star! GitHub地址: https://github.com/Ziphtracks/JavaLearningmanual 搜索关注微信公众号" ...
- hystrix信号量和线程池的区别
- jni 字符串的梳理 2 字符串的处理操作
我们实现下面的一个功能: 1.首先在java层传递一个字符串到c层,c层首先将jstring转换成char*类型,然后将两个字符串相加,然后再再将char*类型转换成jstring,在上层显示出来 我 ...
- 入门大数据---Spark部署模式与作业提交
一.作业提交 1.1 spark-submit Spark 所有模式均使用 spark-submit 命令提交作业,其格式如下: ./bin/spark-submit \ --class <ma ...
- 入门大数据---SparkSQL_Dataset和DataFrame简介
一.Spark SQL简介 Spark SQL 是 Spark 中的一个子模块,主要用于操作结构化数据.它具有以下特点: 能够将 SQL 查询与 Spark 程序无缝混合,允许您使用 SQL 或 Da ...
- ceph SSD HDD分离与openstack调用
本例子ceph L版本采用的是filestore,而不是bluestore. 一.查看class类型,只有一个hdd,.Luminous 为每个OSD添加了一个新的属性:设备类.默认情况下,OSD将根 ...
- python从文件载入字典
data = np.load('dict_.npy') data = data.item() 不加最后一句,data不是字典类型
- MongoDB副本集replica set(三)--添加删除成员
在上一篇文章中,我们搭建了3个节点的副本集,集群信息如下: rstest:PRIMARY> rs.config() { "_id" : "rstest", ...