用前端代码智能识别身份证的头像

 

function Check() {

            //画方框

            function draw(x, y, w, h) {

                var rect = document.createElement('div');//创建一个div

                document.querySelector('.Container').appendChild(rect);//querySelector返回文档中匹配指定 CSS 选择器的第一个元素 获取Container的元素

                //appendChild 使用此方法从一个元素向另一个元素移动元素

                rect.classList.add('rect');//classList.add 为 <div> 元素添加 class:

                rect.style.width = w + 'px';//style属性包含着元素的样式

                rect.style.height = h + 'px';

                rect.style.left = (IimgStudentPicture.offsetLeft + x) + 'px';//offsetLeft 、offsetTop相对于最近的祖先定位元素。

                rect.style.top = (IimgStudentPicture.offsetTop + y) + 'px';//方框长、宽以及x、y坐标

            };

 

            var IimgStudentPicture = document.getElementById('IimgStudentPicture'); //获取到图片

            var tracker = new tracking.ObjectTracker(['face']); //获取脸的数据(参数),它会返回一个数组

            //tracking.ObjectTracker()接受数组参数将你想要标记的对象分类(比如脸部整体、眼睛、鼻子、嘴巴等)。

            //tracker.setStepSize(1.7);规定用来标记的方框的大小。

            tracking.track('#IimgStudentPicture', tracker);//我们把要标记的对象和track事件进行绑定,一旦我们要标记的对象完成初始化,就会触发track事件。

            tracker.on('track', function (event) {

                if (event.data.length === 0) {//数据(Data)保存在对象数组列表中,其中的值是每一个标记对象的长、宽以及x、y坐标。

                    alert("无人脸")

                } else {

                    event.data.forEach(function (rect) {//forEach调用数组的每个元素,并将元素传递给回调函数。

                        console.log(rect)

                        draw(rect.x, rect.y, rect.width, rect.height);

                        //alert("有人脸")

                    });

                }

            });           

        };

 

var imgReaderI = new FileReader();//FileReader()接口:用于读取文件

        //图片文件 正则表达式过滤

        regexImageFilter = /^(?:image\/bmp|image\/png|image\/jpeg|image\/jpg)$/i;

        //回调函数onLoad异步

        imgReaderI.onload = function (evt) {

            $("#IimgStudentPicture").attr('src', evt.target.result);//将数据结果赋值给image的src

        };

        $("#IStudentPicture").change(function () {

            var imgfFile = $("#IStudentPicture").prop('files')[0];//prop添加属性名称

            //加载image标签中

            if (!regexImageFilter.test(imgfFile.type)) {

                layer.msg('选择的不是一个有效的图片文件', { icon: 0 });

            }

            //readAsDataURL()方法可以获取API异步读取的文件数据,另存为数据URL;将该URL绑定到img标签的src属性上,就可以实现图片的上传预览效果了。

            imgReaderI.readAsDataURL(imgfFile);

        });

 

        function Reload() {

                location.reload();

        }

 

点击检测效果图

需要用到的插件

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值