移动端利用 input 标签调用手机摄像头拍照,实现人脸验证的功能

这篇具有很好参考价值的文章主要介绍了移动端利用 input 标签调用手机摄像头拍照,实现人脸验证的功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

近期在做项目时,有一个需求需要实现人脸识别功能,该功能的底层原理就是利用手机的拍照功能,获取用户的人脸图片,然后调用公安部的图像库进行逐一比对。实现这个功能只需要两步,第一步就是获取用户人脸图片;第二步就是将图片传给后端进行人脸比对。由于现在手机拍照的像素很高,拍出的照片都是几M,故在实现该功能的过程中,需要对图片进行压缩,该文是利用canvas对图片进行压缩。具体实现代码如下:

vue中调用相机进行拍照

<input type="file" accept="image/*" capture="user" @change="inputChange" ref="ipt">

知识扩展:

capture 属性是一个字符串,accept 属性指出了 input 是图片或者视频类型,capture 则它指定了使用哪个摄像头去获取这些数据。值 user 表示应该使用前置摄像头和/或麦克风。值 environment 表示应该使用后置摄像头和/或麦克风。如果缺少此属性,则 user agent 可以自由决定做什么。如果请求的前置模式不可用,则用户代理可能退回到其首选的默认模式。文章来源地址https://www.toymoban.com/news/detail-569133.html

js代码 

inputChange() {
  let file = this.refs.ipt.files[0];
  this.uploadAttachImg(file)
}
// 压缩图片
uploadAttachImg(file) {
  let that = this;
  let _base64 = '';
  let reader = new FileReader();
  reader.readAsDataURL(file);
  reader.onload = function(e) {
    if(that.file.size / 1024 / 1024 <= 0.2) { // 小于 200k
      _base64 = e.target.result;
      that.getFaceResult(_base64); // 上传服务 
    }else {
      let img = document.createElement('img');
      img.src = e.target.result;
      let scale = 0.9;
      img.onload = function() {
        var originWidth = this.width;
        var originHeight = this.height;
        var maxWidth = 900;
        var maxHeight = (originHeight / originWidth) * 900;
        var canvas = document.createElement('canvas');
        canvas.setAttribute('width', maxWidth);
        canvas.setAttribute('height', maxHeight);
        var ctx = canvas.getContext('2d');
        ctx.clearRect(0,0,canvas.width,canvas.height);          
        ctx.drawImage(img,0,0,canvas.width,canvas.height);
        _base64 = canvas.toDataURL('image/jpeg')
        while(_base64.length > 1024*1024*0.18) {
          scale -= 0.01;
          _base64 = canvas.toDataURL('image/jpeg', scale);
        }
        that.getFaceResult(_base64); // 上传服务
      }
    }
  }
}
getFaceResult(data) {
  axios({
    'method': 'POST',
    'url': url,
    'data': data,
    'timeout': 15000
  })
  .then(res => {})
}

到了这里,关于移动端利用 input 标签调用手机摄像头拍照,实现人脸验证的功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp - 详细手机端h5网页调用手机摄像头进行二维码识别扫描,在uniapp的H5移动端微信网页平台中,在浏览器中调用手机扫码功能详细教程,识别二维码并获取扫描结果(完整示例源码,一键复制即用

    正常情况下,使用uniapp扫码API是不行的,因为不支持h5端。 在uniapp h5移动端网页项目中,实现了浏览器中调用手机摄像头扫码功能,uniapp手机网页H5扫描二维码功能实现,uni-app h5端调用摄像头扫码,提供完整可运行的代码。 跟着本文的步骤,复制源代码后运行改下就行了。

    2024年02月04日
    浏览(71)
  • h5调用手机摄像头获取图片用于人脸识别

    1、安卓手机获取前置摄像头,并在video标签显示 注:navigator.mediaDevices.getUserMedia文档说明兼容Safari11,实测不好用 2、苹果手机获取前置摄像头拍照上传,用于人脸识别 注:该方法在安卓手机也可使用 3、附件 //exif.js exif.js //rotate-photo.js rotate-photo.js

    2024年02月11日
    浏览(54)
  • Python+OpenCV 调用手机摄像头并实现人脸识别

    文章内容 : 1、windows 环境下安装 OpenCV 机器视觉环境搭建; 2、基于通过 Python+OpenCV 调用 手机摄像头 并实现人脸检测识别。 操作环境:Windows 10 64位 开发 IDE:Spyder 4.2.5 Python:3.8 OpenCV:OpenCv-Python 4.5.3 硬件需要:PC(win10)、手机 主要介绍使用 pip 安装 OpenCV(使用.whl文件安装

    2024年02月09日
    浏览(56)
  • vue&h5获取手机前置摄像头(安卓&ios),input capture属性和navigator.mediaDevices

    调用前置摄像头 capture=\\\"user\\\" 调用后置摄像头capture=\\\"environment\\\"或其他只适用于ios 根据官网解释 iOS最遵守遵守HTML5规范,其次是X5内核,安卓的webview基本忽略了capture。 官方文档:www.w3.org/TR/2018/REC-html-media-capture-20180201/ 对于安卓,亲测capture=\\\"user\\\"效果是,第一次打开前置摄像无效

    2024年02月10日
    浏览(50)
  • h5端调用手机摄像头实现扫一扫功能

     一、前言         最近有遇到一个需求,在h5浏览器中实现扫码功能,其本质便是打开手机摄像头定时拍照,特此做一个记录。主要技术栈采用的是vue2,使用的开发工具是hbuilderX。         经过测试发现部分浏览器并不支持打开摄像头,测试了果子,华子和米,发现

    2024年03月14日
    浏览(87)
  • 【计算机视觉 · OpenCV】使用 OpenCV 调用手机摄像头

    Droidcam 是一款可以将手机变成网络摄像头的工具,我们可以利用 Droidcam 让 OpenCV 拥有调用手机摄像头的能力。 2.1 安装 DroidCam 在手机和电脑上分别安装 DroidCam 的客户端和服务端 下载地址:https://pan.baidu.com/s/1DrBn3P1Bx-SXa4d6oziifA?pwd=gr1o 提取码:gr1o 2.2 测试连接状态 手机和电脑需

    2024年02月09日
    浏览(52)
  • 【Android入门到项目实战-- 7.3】—— 如何调用手机摄像头和相册

    目录 一、调用摄像头拍照 二、打开相册选择照片         学完本篇文章可以收获如何调用手机的摄像头和打开手机相册选择图片功能。 先新建一个CameraAlbumTest项目。 修改activity_main.xml,代码如下:         按钮打开摄像头,ImageView将拍到的图片显示出来。 下面编写调用

    2024年02月10日
    浏览(67)
  • H5 页面通过navigator.mediaDevices.getUserMedia调用手机摄像头拍照上传

    需求: 某知名化妆品牌,要做个在线问卷调查。需要试用着自拍上传 注:使用navigator.mediaDevices.getUserMedia 需要使用https请求协议否者视为不安全,无法访问,开发阶段需要将启动改为https 在package.json中 前端开发环境启动项目将http协议改为https协议    授权,默认前置,切换

    2024年02月11日
    浏览(58)
  • 【学习笔记】Yolov5调用手机摄像头实时检测(环境配置+实现步骤)

    我们需要首先从GitHub获取到yolov5的源码,直达链接如下: https://github.com/ultralytics/yolov5 打开后按照如下步骤下载源码压缩包即可 权重文件下载地址:https://download.csdn.net/download/liujiahao123987/87400892 注:我用的iOS,安卓版本没有\\\"Lite\\\" 需要的就是这个局域网,每个人的都不一样 需

    2023年04月25日
    浏览(53)
  • 利用OBS和手机摄像头录课(录屏/录像)时的方法与参数设置

    目录 1. OBS下载地址 2. OBS录屏设置 2.1 使用向导设置做全局设置 2.2 详细设置 2.2.1 视频设置 2.2.2 音频设置 2.2.3 输出设置 2.2.4 快捷键设置 3. 麦克风降噪设置 4. 使用OBS录屏功能 5. 用手机作为网络摄像头采集图像 5.1 配置手机摄像头 5.2 为OBS中设置手机IP摄像头 6. 本文的OBS参数设

    2024年02月11日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包