聊聊JavaScript人脸识别技术
我不断对人工智能识别技术非常感乐趣,由于我没法想象这毕竟是一种什么样的算法,什么样的剖析历程。不管是声音识别、人脸识别或其它种识别,人们的表面、说话的方式都是如此不一样,一种图片你可以用不一样的方式、从不一样的角度拍照,我不克不及懂得这些识别技术是怎样做到的。由于此前已经介绍了JavaScript裸体识别技术,还有个叫做“面具”的游戏也使用了这种识别技术,我想关于面部识别技术也应当研讨一下。Facebook使用了这种技术,在手势操纵中也能用到它,所以,你网站上也会有利用的地方。
我寻到的一个可以用于人脸识别的JavaScript程序包是Face Detection,它是由Jay Salvat和Liu Liu开发的。它是一个标准的jQuery插件,通过对供给的图片停止剖析,返回所有寻到的面部图像的坐标。下面我们来看看它是怎样使用的!
jQuery.faceDetection
使用Face Detection这个jQuery plugin,你需要引入四个js文件:
<script src="jquery-1.4.3.min.js"></script> <!-- mas js --> <script src="facedetection/ccv.js"></script> <script src="facedetection/face.js"></script> <script src="jquery.facedetection.js"></script>
这个面部识别插件的头两个文件里是它的各种功效性程序,通过它们能得到一个数组对象,这些对象里储备的就是图片里的面部坐标信息。下面是一个例子:
var coords = jQuery("#myImage").faceDetection(); /* 返回: { x: 525 y: 435, width: 144, height: 144, positionX: 532.6353328125226, positionY: 443.240976080536, offsetX: 532.6353328125226, offsetY: 443.240976080536, confidence: 12.93120119, neighbour: undefined, } */
你还可以在检测办法上参加事件回调函数:
var coords = jQuery("#myImage").faceDetection({ complete: function(image, coords) { // Do something }, error: function() { console.warn("没法剖析图片"); } });
关于识别出的面部信息,你可以做任何的处置东西。你可以在图片中面部的位置画出框线:
jQuery("img").each(function() { var img = this; // 猎取面部坐标 var coordinates = jQuery(img).faceDetection(); // 在脸上画出框线 if(coordinates.length) { coordinates.forEach(function(coord) { jQuery("<p>", { css: { position: "absolute", left: coord.positionX + 5 + "px", top: coord.positionY + 5 + "px", width: coord.width + "px", height: coord.height + "px", border: "3px solid white" } }).appendTo(img.parentNode); }); } });
这很简便,当然你可以做复杂的处置,比方说提取出来。
我用了各种图片停止面部识别尝试,正如我料想到的,结果并不是很完善。但不管怎样,还是相当不错的。这是一个很简便的足本技术,并且没有任何技术是精美绝伦的。这个面部识别插件并不具有面部比力功效,你需要用其它办法并供给面部特点信息实现此功效。总之,相当不错,热烈倡议你试一下。
相关学习引荐:javascript视频教程
以上就是聊聊JavaScript人脸识别技术的具体内容,更多请关注百分百源码网其它相关文章!