计算机系统应用教程网站

网站首页 > 技术文章 正文

Python使用NiceGUI实现电脑摄像头画布监控

btikc 2024-10-16 08:18:55 技术文章 5 ℃ 0 评论

在网上看到一个日本 的文章有物是nicegui却监控电脑摄像头的画布

那个文章看起来有点意思,看了一下这个简要的技术介绍觉得有点意思。如果有外接摄像头估计 也就变成 了一个视频监控功能了。当然性能怎么样有等观察,醒醒上可以使用了


Python中对血斧视频的处理通常会用到 cv2

安装cv2可以找opencv这个package建议使用国内源去安装不然会经常出现无法下载 安装的情况


如何获取摄像头

import cv2
from nicegui import ui

video_capture = cv2.VideoCapture(0)


1、cv2.VideoCapture()函数:
cap = cv2.VideoCapture(0)
VideoCapture()中参数是0,表示打开笔记本的内置摄像头。


cap = cv2.VideoCapture("…/1.avi")
VideoCapture("…/1.avi"),表示参数是视频文件路径则打开视频。

视频的基本原理

简单理解视频 其实就是很多静态图像以一定的速度播放,这样就变成了动画的视频

百度百科上的解释,视频(Video)是泛指将一系列静态影像以电信号的方式加以捕捉、记录、处理、储存、传送与重现的各种技术。我们知道根据视觉暂留原理,当连续的图像变化每秒超过24帧(frame)画面以上时,人眼就会无法辨别出单幅的静态画面。所以看上去会产生平滑连续的视觉效果,这样连续的画面叫做视频。想必大家小时候都玩过各式各样的手翻书,它便是最早的动画模式,即是利用视觉暂留原理制成的“不插电”的动画。

摄像头获取的也是很多图片

我们只需要把图片展示出来即可。

 global video_capture, ui_interactive_image
    ret, frame = video_capture.read()
    if ret and ui_interactive_image is not None:
        _, imencode_image = cv2.imencode('.jpg', frame)
        base64_image = base64.b64encode(imencode_image)
        base64_image_string = 'data:image/jpg;base64,' + base64_image.decode(
            'ascii')

        ui_interactive_image.source = base64_image_string
_, imencode_image = cv2.imencode('.jpg', frame)  获取摄像头的数据变成 了个图片

使用nicegui的图片退件去显示摄像头的图片


ui_interactive_image = ui.interactive_image()


这是抓取到 我的摄像头像效果,完整的动画效果可以看我的视频

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表