使用python pyqt5实现的界面化的声音与图像处理
目录
这是对上个版本的一次更新
上个版本python人脸识别、语音合成、智能签到系统_Nie_Hen的博客-优快云博客_python人脸识别签到系统
项目地址在下面
主要更新的有界面,使用qss美化界面,增添了语音识别,设置等功能,操作会更简单,增加了很多防护措施,改了很多的bug。
下面是效果图
具体详细文档稍后完善
对图像的处理
-
摄像头的处理 基于海康摄像头进行人脸识别_Nie_Hen的博客-优快云博客_海康人脸识别摄像头 (这是之前写过的)
主要是使用opencv中 videoCapture函数打开摄像头。笔记本电脑地址是0,ip摄像头的地址一般使用rtsp地址。
我使用的是python的一个人脸识别库face_recognition,实现实时的人脸识别.我博客还有关于其他的人脸识别技术。可以参考
- 拍照 是使用opencv中的imwrite函数 把当前的画面保存下来,实现拍照。
对声音的处理
- 语音播报
语音播报使用的是语音合成的功能,只不过是和人脸识别中识别到的数据联合到了一块,将识别到的人名,进行播报。
- 语音合成
使用的是百度ai中的技术,调用api接口实现。这个可以免费注册,进入控制台创建语音类应用,获取到api_id api_key sercert_key这三个值 。
def baidu_voice(voice):
""" 你的 APPID AK SK """
try:
result = client.synthesis(voice, 'zh', 1, {
'vol': 8,'per':0
})
# 识别正确返回语音二进制 错误则返回dict 参照下面错误码
if not isinstance(result, dict):
with open('auido.mp3', 'wb') as f:
f.write(result)
os.system('auido.mp3')
except:
return "语音合成出现问题 请检查"
还需要 在上面加上
from aip import AipSpeech
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
- 语音识别
语音合成和语音识别一样都是调用的百度ai的api接口
def baidu_speech_reco():
try:
with open('recode.wav', 'rb') as fp:
results=fp.read()
result = client.asr(results, 'wav', 16000, {'dev_pid': 1536, })
#print(result)
if 'result' in result.keys():
return str(result['result'][0])
else:
return '语音识别出现问题,请检查'
except:
return '语音识别出现问题,请检查'
跟上面一样在上面需要加上那两行代码
其他功能
- 注册
这个功能主要是利用界面和对配置文件的处理实现。注册主要是放入人的名字,年龄等等的信息。从界面上获取到,然后验证一下没有什么问题,点击确定按钮,就能够写入到配置文件中。对配置文件的处理使用的是 configparser这个库对conf文件进行读写。很方便好用。
- 查看记录
在人脸识别的时候,识别到人脸会记录到一个excel表格中去,这个功能就是来查看这个excel表格的。使用的是os中的popen函数进行打开文件。使用这个函数会重新开启一个线程,打开的比较快。
- 设置
设置的功能跟注册类似,通过界面和对配置文件的处理实现,配置文件时config.conf 把一些可以设置的参数放到界面里面。如果需要设置在界面上填写,当点击确定的时候,判断填写的是否存在问题,如果没有问题就会更改配置文件,从而实现对参数的更改。
上一版本
上一个版本跟这个版本功能上改变不少很大,在一些功能实现方面 可以参考上一版本的文档,python人脸识别、语音合成、智能签到系统_Nie_Hen的博客-优快云博客_python人脸识别签到系统 python人脸识别、语音合成、智能签到系统(2)_Nie_Hen的博客-优快云博客_人脸识别签到系统python
界面
对于界面的美化。看这里pyqt5美化界面_Nie_Hen的博客-优快云博客_pyqt5界面美化。详细的介绍了部分的界面美化方法。
源码
项目地址
其他人脸识别模块介绍 https://blog.youkuaiyun.com/Nirvana_6174/article/details/89599441