但我们需要对此处进行修改,使用rtsp流,进行AI行人识别,下面需要进行分析代码,找到可以修改的地方,或者摸个参数,来进行RTSP流的修改。
已经找到了视频流在哪里传进去的了,下面就是进行分析里面的代码进行改成rtsp流,把rtsp流写进去,来做到实时分析,实现行人检测的效果。
在进行分析的时候,发现source这个参数只有LoadStreams用到过,而且是直接传进去的。
进入source参数里面查看,发现里面有一个默认的值,就是读文件,如果不是文件,就把source=[source],再进行source值遍历。在遍历中还使用到了opencv打开本地电脑的摄像机流,再开一个线程进行实时行人识别。
代码中使用了opencv中cv2.VideoCapture的函数,从网上查找这个函数的用法得知,此函数是可以直接传入rtsp流地址的,所以问题解决就简单多了。cv2.VideoCapture这个函数是可以传入rtsp地址的,所以传入rtsp地址进行尝试,发现传入rtsp地址是没有问题的。
只要修改source这个参数即可,最终实现了检测:
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函数加载了一段配
python三步实现人脸识别
Face Recognition软件包
这是世界上最简单的人脸识别库了。你可以通过Python引用或者命令行的形式使用它,来管理和识别人脸。
该软件包使用dlib中最先进的人脸识别深度学习算法,使得识别准确率在《Labled Faces in the world》测试基准下达到了99.38%。
它同时提供了一个叫face_recognition的命令行工具,以便你可以用命令行对一个文件夹中的图片进行识别操作。
特性
在图片中识别人脸
找到图片中所有的人脸
找到并操作图片中的脸部特征
获得图片中人类眼睛、鼻子、嘴、下巴的位置和轮廓
找到脸部特征有很多超级有用的应用场景,当然你也可以把它用在最显而易见的功能上:美颜功能(就像美图秀秀那样)。
鉴定图片中的脸
识别图片中的人是谁。
你甚至可以用这个软件包做人脸的实时识别。
这里有一个实时识别的例子:
1https://github.com/ageitgey/face_recognition/blob/master/examples/facerec_from_webcam_faster.py安装
环境要求
Python3.3+或者Python2.7
MacOS或者Linux(Windows不做支持,但是你可以试试,也许也能运行)
安装步骤
在MacOS或者Linux上安装
首先,确保你安装了dlib,以及该软件的Python绑定接口。如果没有的话,看这篇安装说明:
1 https://gist.github.com/ageitgey/629d75c1baac34dfa5ca2a1928a7aeaf然后,用pip安装这个软件包:
如果你安装遇到问题,可以试试这个安装好了的虚拟机:
1 https://medium.com/@ageitgey/try-deep-learning-in-python-now-with-a-fully-pre-configured-vm-1d97d4c3e9b在树莓派2+上安装
看这篇说明:
1 https://gist.github.com/ageitgey/1ac8dbe8572f3f533df6269dab35df65在Windows上安装
虽然Windows不是官方支持的,但是有热心网友写出了一个Windows上的使用指南,请看这里:
1 https://github.com/ageitgey/face_recognition/issues/175#issue-257710508使用已经配置好的虚拟机(支持VMWare和VirtualBox)
看这篇说明:
1 https://medium.com/@ageitgey/try-deep-learning-in-python-now-with-a-fully-pre-configured-vm-1d97d4c3e9b使用方法
命令行接口
如果你已经安装了face_recognition,那么你的系统中已经有了一个名为face_recognition的命令,你可以使用它对图片进行识别,或者对一个文件夹中的所有图片进行识别。
首先你需要提供一个文件夹,里面是所有你希望系统认识的人的图片。其中每个人一张图片,图片以人的名字命名。
然后你需要准备另一个文件夹,里面是你要识别的图片。
然后你就可以运行face_recognition命令了,把刚刚准备的两个文件夹作为参数传入,命令就会返回需要识别的图片中都出现了谁。
输出中,识别到的每张脸都单独占一行,输出格式为
通过Python模块使用
你可以通过导入face_recognition模块来使用它,使用方式超级简单,文档在这里:https://face-recognition.readthedocs.io
自动找到图片中所有的脸
看看这个例子自己实践一下:
1 https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture.py你还可以自定义替换人类识别的深度学习模型。
注意:想获得比较好的性能的话,你可能需要GPU加速(使用英伟达的CUDA库)。所以编译的时候你也需要开启dlib的GPU加速选项。
你也可以通过这个例子实践一下:
1 https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture_cnn.py如果你有很多图片和GPU,你也可以并行快速识别,看这篇文章:
1 https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_batches.py自动识别人脸特征
试试这个例子:
1 https://github.com/ageitgey/face_recognition/blob/master/examples/find_facial_features_in_picture.py识别人脸鉴定是哪个人
这里是一个例子:
1 https://github.com/ageitgey/face_recognition/blob/master/examples/recognize_faces_in_picture