(人脸识别)在视频中截取图片js+html

(人脸识别)在视频中截取图片

html代码:

//

//video录制视频

//

//绘制一张canvas画布

//video录制视频

<p>图片(将画布的视频帧同步生成图片):</p>
<div id="imgbox"></div>

调通视频:

var video = document.querySelector(“video”);
//const streamVideo = document.querySelector(".stream");
//const playVideo = document.querySelector(".play");

navigator.mediaDevices.getUserMedia =
navigator.mediaDevices.getUserMedia || // use the proper vendor prefix
navigator.mediaDevices.webkitGetUserMedia ||
navigator.mediaDevices.mozGetUserMedia ||
navigator.mediaDevices.msGetUserMedia;

navigator.mediaDevices
.getUserMedia({ video: true, audio: false })
.then(function (mediaStream) {
mediaStream_ = mediaStream;
video.setAttribute(“playsinline”, true);
video.setAttribute(“webkit-playsinline”, true);
video.srcObject = mediaStream;
video.play();

});

var c=document.getElementById(“canvas”)

var delay = 1000 // 截取封面的延迟(有的视频开头可能有黑屏所以可以加一个延迟)
ctx=c.getContext(‘2d’);

// 监听可播放
video.addEventListener(‘canplay’, function() {
setTimeout(function(){
// alert(“写错了”);
// 相应视频的宽和高
var w = video.videoWidth
var h = video.videoHeight
var space = 5 // canvas的间距,可取去掉

// 绘制视频到canvas上
ctx.drawImage(video, space, space, w+space, h+space)

// 生成图片
let img = document.createElement(‘img’)
img.src = c.toDataURL(‘image/png’) // 这就是封面图片的地址
// img.src = ‘https://www.yushanshuju.com/ords/datatech/r/files/static/v70/IMAGES/IDV009_111.jpg’
img.width = w // 图片宽度,可按需调节,也可以不设置
img.height = h // 图片高度,可按需调节,也可以不设置
imgbox.appendChild(img) // 打印图片

}, delay)

//2S后截图
setTimeout(function(){

// 相应视频的宽和高
var w = video.videoWidth
var h = video.videoHeight
var space = 5 // canvas的间距,可取去掉

// 绘制视频到canvas上
ctx.drawImage(video, space, space, w+space, h+space)

// 生成图片
let img = document.createElement(‘img’)
img.src = c.toDataURL(‘image/png’) // 这就是封面图片的地址
// img.src = ‘https://www.yushanshuju.com/ords/datatech/r/files/static/v70/IMAGES/IDV009_111.jpg’
img.width = w // 图片宽度,可按需调节,也可以不设置
img.height = h // 图片高度,可按需调节,也可以不设置
imgbox.appendChild(img) // 打印图片
}, 2000)

//3S后截图

setTimeout(function(){
// alert(“写错了”);
// 相应视频的宽和高
var w = video.videoWidth
var h = video.videoHeight
var space = 5 // canvas的间距,可取去掉

// 绘制视频到canvas上
ctx.drawImage(video, space, space, w+space, h+space)

// 生成图片
let img = document.createElement(‘img’)
img.src = c.toDataURL(‘image/png’) // 这就是封面图片的地址
// img.src = ‘https://www.yushanshuju.com/ords/datatech/r/files/static/v70/IMAGES/IDV009_111.jpg’
img.width = w // 图片宽度,可按需调节,也可以不设置
img.height = h // 图片高度,可按需调节,也可以不设置
imgbox.appendChild(img) // 打印图片
}, 3000)

},false)

实现效果:

1s
在这里插入图片描述
g

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值