PyQt5 + openCV 实现笔记本摄像头实时采集(完整代码)

前段时间学习了人脸识别和语音交互,想要集成到一个UI上。

人脸识别采用opencv的经典模块,语音交互使用图灵机器人+谷歌的speech recognition+win32com.clent.Dispatch

最初打算使用pygame做UI来集成,但是发现CV2捕捉的frame是ndarray格式,pygame的显示图形是pygame.surface格式

如果采用笨办法,CV2处理图片,保存图片,pygame读取图片,帧率太低,显示效果不好。

在参考了以下资料:

1.网址:https://github.com/seym45/webcamViewer  
  文章名:webcamViewer/integration of PyQt and OpenCV
  作者:seym45
2.网址:https://my.oschina.net/u/3446786/blog/885875
  文章名: pyqt 使用cv2 显示摄像头
  作者:doodt 
  发布时间: 2017/04/24 11:54 

发现:

       1号资料的问题在于,搭建环境是PyQt4+openCV,与qt5的库关系有所不同。

       2号资料代码不完整,无法直接使用。

综合以上二者,给出我的代码。

1.导入

21-23行写法不规范,下次改正

PyQt5 + openCV 实现笔记本摄像头实时采集(完整代码)_第1张图片

2.从摄像头抓取图片并转换为可被qt读取的格式,核心是53-64行

PyQt5 + openCV 实现笔记本摄像头实时采集(完整代码)_第2张图片

3.窗口创建,计时器与图像的显示

PyQt5 + openCV 实现笔记本摄像头实时采集(完整代码)_第3张图片

4.main函数

下一步会发出集成所有功能的代码。

需要交流,可以留言或发送邮件 [email protected]   

 

 

 

 

你可能感兴趣的:(智能交互)