用python实现相机包含各种功能

这是一个使用Python结合OpenCV和PyQt5实现的简单摄像头监控程序,具备截图、录像和调整分辨率的功能。用户可以通过UI界面选择是否显示灰度图,并在运行时动态调整分辨率。同时,程序能够捕获当前帧并将其保存为图片或录制为avi视频。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

暑假开始了解python了,记录一下最近实现的小相机,只有功能,没有qss😀,还参考了很多博主😂

貌似还有一个小问题,就是转成灰度图后转不回去了,我比较懒就不研究了🎈

import time
import cv2
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5 import QtGui
from PyQt5.QtWidgets import *
from qtpy import uic


class Win(QWidget):
    msg = pyqtSignal(bool)

    def __init__(self):
        super(Win, self).__init__()
        self.flag = True
        self.photoname = 1
        self.ui = uic.loadUi("ui/untitled.ui")  # 导入ui文件
        self.ui.setParent(self)  # 将ui文件设置父窗口,将它显示出来

        self.timeThread = Time()  # 创建一个自己写的Time类
        self.timeThread.start()
        self.resize(820, 600)  # 改变窗口大小
        self.timeThread.update.connect(self.update_time)  # 给信号设置槽函数

        self.cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)  # 打开内置摄像头,windows特有的,加上CAP_DSHOW,不加关闭程序摄像头不会关闭
        self.cap.set(3, 640)  # 设置相机窗口
        self.cap.set(4, 480)
        self.video = Video(self.cap)
        self._timer = QTimer(self)  # 创建定时器对象
        self._timer.timeout.connect(self.play)  # 连接timeout信号到槽函数
        self._timer.start(30)  # 多少时间间隔内执行一次

        self.ui.jietu.clicked.connect(self.cliek_jietu)  # 绑定槽函数
        self.ui.luxiang.clicked.connect(self.click_luxiang)

        fourcc = cv2.VideoWriter_fourcc(*'mp4v')  # 设置录像格式
        self.vm = cv2.VideoWriter('E:\opencvLZvideo\out007.avi', fourcc, 30, (640, 480))

        self.ui.fbl.currentIndexChanged.connect(self.click_fbl)
        self.ui.td.currentIndexChanged.connect(self.click_td)
        self.msg.connect(self.video.change)

    def click_td(self):
        self.ys = self.ui.fbl.currentText()  # 如果组合框改变内容
        if self.ys == '原':
            self.msg.emit(True)
        else:
            se
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值