当前位置: 首页 > news >正文

长沙模板建站服务公司网站开发毕业设计代做

长沙模板建站服务公司,网站开发毕业设计代做,南平网站建设公司,今天的最新消息目录 1、设计UI界面 2、设计逻辑代码,建立连接显示窗口 3、结果 1、设计UI界面 将ui界面转为py文件后获得的逻辑代码为:(文件名为 Camera.py) # -*- coding: utf-8 -*-# Form implementation generated from reading ui file …

目录

1、设计UI界面

2、设计逻辑代码,建立连接显示窗口

3、结果


1、设计UI界面

将ui界面转为py文件后获得的逻辑代码为:(文件名为 Camera.py

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'ca.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_mainWindow(object):def setupUi(self, mainWindow):mainWindow.setObjectName("mainWindow")mainWindow.resize(648, 280)self.centralwidget = QtWidgets.QWidget(mainWindow)self.centralwidget.setObjectName("centralwidget")self.widget = QtWidgets.QWidget(self.centralwidget)self.widget.setGeometry(QtCore.QRect(10, 20, 631, 181))self.widget.setObjectName("widget")self.horizontalLayout = QtWidgets.QHBoxLayout(self.widget)self.horizontalLayout.setContentsMargins(0, 0, 0, 0)self.horizontalLayout.setObjectName("horizontalLayout")self.label = QtWidgets.QLabel(self.widget)font = QtGui.QFont()font.setPointSize(20)self.label.setFont(font)self.label.setAlignment(QtCore.Qt.AlignCenter)self.label.setObjectName("label")self.horizontalLayout.addWidget(self.label)self.label_2 = QtWidgets.QLabel(self.widget)font = QtGui.QFont()font.setPointSize(20)self.label_2.setFont(font)self.label_2.setAlignment(QtCore.Qt.AlignCenter)self.label_2.setObjectName("label_2")self.horizontalLayout.addWidget(self.label_2)self.widget1 = QtWidgets.QWidget(self.centralwidget)self.widget1.setGeometry(QtCore.QRect(10, 210, 631, 51))self.widget1.setObjectName("widget1")self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.widget1)self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)self.horizontalLayout_2.setObjectName("horizontalLayout_2")self.pushButton = QtWidgets.QPushButton(self.widget1)self.pushButton.setObjectName("pushButton")self.horizontalLayout_2.addWidget(self.pushButton)self.pushButton_2 = QtWidgets.QPushButton(self.widget1)self.pushButton_2.setObjectName("pushButton_2")self.horizontalLayout_2.addWidget(self.pushButton_2)self.pushButton_3 = QtWidgets.QPushButton(self.widget1)self.pushButton_3.setObjectName("pushButton_3")self.horizontalLayout_2.addWidget(self.pushButton_3)self.pushButton_4 = QtWidgets.QPushButton(self.widget1)self.pushButton_4.setObjectName("pushButton_4")self.horizontalLayout_2.addWidget(self.pushButton_4)mainWindow.setCentralWidget(self.centralwidget)self.retranslateUi(mainWindow)QtCore.QMetaObject.connectSlotsByName(mainWindow)def retranslateUi(self, mainWindow):_translate = QtCore.QCoreApplication.translatemainWindow.setWindowTitle(_translate("mainWindow", "MainWindow"))self.label.setText(_translate("mainWindow", "摄像头"))self.label_2.setText(_translate("mainWindow", "采集图像"))self.pushButton.setText(_translate("mainWindow", "打开摄像头"))self.pushButton_2.setText(_translate("mainWindow", "采集图像"))self.pushButton_3.setText(_translate("mainWindow", "关闭摄像头"))self.pushButton_4.setText(_translate("mainWindow", "打开图像"))

2、设计逻辑代码,建立连接显示窗口

逻辑代码如下:(文件名为Camera_main.py

# here put the import lib
import sys
from PyQt5 import QtGui, QtWidgets
from Camera import Ui_mainWindow
import cv2
import time
from PyQt5.Qt import *class Open_Camera(QtWidgets.QMainWindow, Ui_mainWindow):def __init__(self):super(Open_Camera, self).__init__()self.setupUi(self)                    # 创建窗体对象self.init()self.cap = cv2.VideoCapture()         # 初始化摄像头self.photo_flag = 0self.label.setScaledContents(True)    # 图片自适应self.label_2.setScaledContents(True)  # 图片自适应def init(self):# 定时器让其定时读取显示图片self.camera_timer = QTimer()self.camera_timer.timeout.connect(self.show_image)# 打开摄像头self.pushButton.clicked.connect(self.open_camera)# 拍照self.pushButton_2.clicked.connect(self.taking_pictures)# 关闭摄像头self.pushButton_3.clicked.connect(self.close_camera)# 导入图片self.pushButton_4.clicked.connect(self.loadphoto)# 开启摄像头def open_camera(self):self.cap = cv2.VideoCapture(0)  # 摄像头self.camera_timer.start(40)     # 每40毫秒读取一次,即刷新率为25帧self.show_image()# 显示图片def show_image(self):flag, self.image = self.cap.read()  # 从视频流中读取图片width,height,_ = self.image.shape # 行:宽,列:高ratio1 = width / self.label.width()  # (label 宽度)ratio2 = height / self.label.height()  # (label 高度)ratio = max(ratio1, ratio2)image_show = cv2.cvtColor(self.image, cv2.COLOR_BGR2RGB)  # opencv读的通道是BGR,要转成RGBimage_show = cv2.flip(image_show, 1)  # 水平翻转,因为摄像头拍的是镜像的。# 把读取到的视频数据变成QImage形式(图片数据、高、宽、RGB颜色空间,三个通道各有2**8=256种颜色)self.showImage = QtGui.QImage(image_show.data, height, width, QImage.Format_RGB888)self.showImage.setDevicePixelRatio(ratio) # 按照缩放比例自适应 label 显示self.label.setPixmap(QPixmap.fromImage(self.showImage))  # 往显示视频的Label里显示QImage# self.label.setScaledContents(True) # 图片自适应# 拍照def taking_pictures(self):if self.cap.isOpened():FName = fr"images/cap{time.strftime('%Y%m%d%H%M%S', time.localtime())}"print(FName)self.label_2.setPixmap(QtGui.QPixmap.fromImage(self.showImage))# self.showImage.save(FName + ".jpg", "JPG", 100)self.showImage.save('./1.jpg')else:QMessageBox.critical(self, '错误', '摄像头未打开!')return None# 关闭摄像头def close_camera(self):self.camera_timer.stop()  # 停止读取self.cap.release()  # 释放摄像头self.label.clear()  # 清除label组件上的图片self.label_2.clear()  # 清除label组件上的图片self.label.setText("摄像头")# self.cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)  # 摄像头# 导入图片def loadphoto(self):fname, _ = QFileDialog.getOpenFileName(self, '选择图片', '../', 'Image files(*.jpg *.gif *.png*.bmp)')self.showImage = fnameself.label_2.setPixmap(QPixmap(self.showImage).scaled(self.label_2.width(), self.label_2.height()))if __name__ == '__main__':from PyQt5 import QtCoreQtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)  # 自适应分辨率app = QtWidgets.QApplication(sys.argv)ui = Open_Camera()ui.show()sys.exit(app.exec_())

3、结果

参考:暂未成功人士

http://www.bjxfkj.com.cn/article/109620.html

相关文章:

  • 网站内部链接的作用有哪些wordpress 内网服务器
  • 青岛网站制作服务商商标注册网上查询网
  • 中英双文网站怎么做海伦市网站
  • 个人网站转企业怎么用网站赚钱
  • 打造一个网站需要多少钱佛山网站优化运营
  • 赛车pk10计划网站建设wordpress 设计步骤
  • 云南建设学校网站首页众筹的网络营销是什么
  • 做网站的时候宽度都怎么弄微信小程序开发网站建设
  • seo网站分析淘宝商城网上购物网
  • 北京市住房和城乡建设部网站首页配资网站开发
  • 网站排名优化化校园网站建设需要数据库吗
  • 建设有一个网站需要什么开发区网站制作公司
  • 除了dz论坛还能搭建什么网站wordpress安装畅言
  • 哈尔滨市建设网站wordpress 主题更新
  • 珠海网站备案网页设计与制作实训报告个人主页
  • 字体设计教程网站邹城市网站建设
  • 广州网站模块建设广东同江医院网站建设
  • 济南网站怎么做免费微网站建站系统源码
  • 做网站seo的公司低代码开发平台是什么
  • 公司制作一个网站价格关键词网站查询
  • 非自己的网站如何做二次跳转电影宣传网站开发设计
  • 上海装饰公司网站建设哪个平台可以接推广任务
  • win7网站服务器制作软件门户网站 布局
  • 大型网站团队人数app推广代理平台
  • 康保网站建设湛江市建设局
  • 网站栏目是什么教做年糕博客网站
  • 广州网站开发定制需要多少钱在线解析网站
  • 茶业网站设计方案博山网站建设
  • 建设网站网页网站推广营销效果
  • 做网站的内容网页设计与制作实践