html如何调用python的opencv人脸识别

Python014

html如何调用python的opencv人脸识别,第1张

html嵌入python代码(python做人脸识别)

2022-07-31 14:19:00阅读 2300

大家好,又见面了,我是你们的朋友全栈君。

最近闲来无事,研究研究在安卓上跑Python。

想起以前玩过的kivy技术,kivy[1]是一个跨平台的UI框架。当然对我们最有用的是,kivy可以把python代码打包成安卓App。但是由于安卓打包的工具链很长,包括android sdk打包java代码、ndk编译python、 编译各种python依赖包,经常花一整天从入门到放弃。这次使出认真研究的心态,终于找到一个解决方案,于是有了这篇文章:

•只要会python就能写安卓App,无需安卓开发基础,无需编译•手机上也有交互式python解释器,直接调试python代码•可以使用各种python库,包括numpy/opencv等机器学习包•可以与安卓接口交互,使用手机硬件,比如摄像头

那么我们就以人脸识别App为例,看看如何简单几步搞定。先看看成品的效果:

第一步:安装airport.apk

AirPort是我编译好的一个安卓App,里面包含了python解释器和一些常用的python库。

第二步:连接手机的python解释器

启动手机上的AirPort应用,就会运行python解释器。我内置了一个ssh服务器,用于调试代码非常方便。应用启动时会显示手机的ip地址。

在电脑上使用ssh命令,就可以连接到手机。

注意:确保你的手机和电脑在同一局域网中。

#在电脑上连接手机,注意这里ip需要替换成AirPort显示的ipssh -p 8000 [email protected]#输入密码meteorix

然后你就可以在手机上尽情使用python了,比如试试

>>>import os>>>os.getcwd()’/data/data/org.airtest.airport/files/app’>>>import requests>>>r = requests.get(“https://www.baidu.com”)>>>r.status_code200

第三步: 一个摄像头的App

在kivy的官方文档中,我们可以找到这样一个摄像头的example[2]

代码非常简单,Builder.load_string函数加载了一段配

基于特征脸(PCA)的人脸识别方法

特征脸方法是基于KL变换的人脸识别方法,KL变换是图像压缩的一种最优正交变换。高维的图像空间经过KL变换后得到一组新的正交基,保留其中重要的正交基,由这些基可以张成低维线性空间。如果假设人脸在这些低维线性空间的投影具有可分性,就可以将这些投影用作识别的特征矢量,这就是特征脸方法的基本思想。这些方法需要较多的训练样本,而且完全是基于图像灰度的统计特性的。目前有一些改进型的特征脸方法。

    比如人脸灰度照片40x40=1600个像素点,用每个像素的灰度值组成的矩阵代表这个人的人脸。那么这个人人脸就要1600 个特征。拿一堆这样的样本过来做pca,抽取得到的只是在统计意义下能代表某个样本的几个特征。

   人脸识别可以采用神经网 络深度学习的思路,国内的ColorReco在这边有比较多的案例。