From a364500164d22010d8076d480d0989b9ab2770a3 Mon Sep 17 00:00:00 2001
From: qinxiaonan_branch <860289024@qq.com>
Date: Thu, 4 Jul 2024 14:57:06 +0800
Subject: [PATCH] =?UTF-8?q?window.py=E7=9A=84=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../image_recognition/window.py | 43 +++++++++----------
1 file changed, 20 insertions(+), 23 deletions(-)
diff --git a/src/Guide_stick_system/image_recognition/window.py b/src/Guide_stick_system/image_recognition/window.py
index 1567185..4370487 100644
--- a/src/Guide_stick_system/image_recognition/window.py
+++ b/src/Guide_stick_system/image_recognition/window.py
@@ -59,18 +59,18 @@ class MainWindow(QTabWidget):
***模型初始化***
'''
@torch.no_grad()
- def model_load(self, weights="", # model.pt path(s)
- device='', # cuda device, i.e. 0 or 0,1,2,3 or cpu
- half=False, # use FP16 half-precision inference
- dnn=False, # use OpenCV DNN for ONNX inference
+ def model_load(self, weights="", # 模型文件路径
+ device='', # 指定CUDA设备,例如 '0' 或 '0,1,2,3' 或 'cpu'
+ half=False, # 是否使用半精度浮点数(FP16)进行推理
+ dnn=False, # 是否使用OpenCV DNN进行ONNX模型的推理
):
device = select_device(device)
- half &= device.type != 'cpu' # half precision only supported on CUDA
+ half &= device.type != 'cpu' # 只有CUDA支持半精度
device = select_device(device)
model = DetectMultiBackend(weights, device=device, dnn=dnn)
stride, names, pt, jit, onnx = model.stride, model.names, model.pt, model.jit, model.onnx
- # Half
- half &= pt and device.type != 'cpu' # half precision only supported by PyTorch on CUDA
+ # 半精度处理
+ half &= pt and device.type != 'cpu' # 确保PyTorch在CUDA上支持半精度
if pt:
model.model.half() if half else model.model.float()
print("模型加载完成!")
@@ -106,13 +106,13 @@ class MainWindow(QTabWidget):
det_img_button.clicked.connect(self.detect_img)
up_img_button.setFont(font_main)
det_img_button.setFont(font_main)
- up_img_button.setStyleSheet("QPushButton{color:white}"
- "QPushButton:hover{background-color: rgb(2,110,180);}"
- "QPushButton{background-color:rgb(48,124,208)}"
- "QPushButton{border:2px}"
- "QPushButton{border-radius:5px}"
- "QPushButton{padding:5px 5px}"
- "QPushButton{margin:5px 5px}")
+ up_img_button.setStyleSheet("QPushButton{color:white}"#颜色
+ "QPushButton:hover{background-color: rgb(2,110,180);}"#鼠标悬停时的样式,鼠标在按钮上悬停时,背景变为蓝色
+ "QPushButton{background-color:rgb(48,124,208)}"#设置按钮的默认背景色为另一种蓝色。
+ "QPushButton{border:2px}"#宽2像素
+ "QPushButton{border-radius:5px}"#圆角5像素
+ "QPushButton{padding:5px 5px}"#四周边距5像素
+ "QPushButton{margin:5px 5px}")#外边距5像素
det_img_button.setStyleSheet("QPushButton{color:white}"
"QPushButton:hover{background-color: rgb(2,110,180);}"
"QPushButton{background-color:rgb(48,124,208)}"
@@ -177,16 +177,16 @@ class MainWindow(QTabWidget):
# todo 关于界面
about_widget = QWidget()
about_layout = QVBoxLayout()
- about_title = QLabel('欢迎使用目标检测系统\n\n 提供付费指导:有需要的好兄弟加下面的QQ即可') # todo 修改欢迎词语
+ about_title = QLabel('欢迎使用') # todo 修改欢迎词语
about_title.setFont(QFont('楷体', 18))
about_title.setAlignment(Qt.AlignCenter)
about_img = QLabel()
about_img.setPixmap(QPixmap('images/UI/qq.png'))
about_img.setAlignment(Qt.AlignCenter)
- # label4.setText("如何调整学习率")
- label_super = QLabel() # todo 更换作者信息
- label_super.setText("或者你可以在这里找到我-->肆十二")
+ #
+ label_super = QLabel()
+
label_super.setFont(QFont('楷体', 16))
label_super.setOpenExternalLinks(True)
# label_super.setOpenExternalLinks(True)
@@ -201,10 +201,7 @@ class MainWindow(QTabWidget):
self.left_img.setAlignment(Qt.AlignCenter)
self.addTab(img_detection_widget, '图片检测')
self.addTab(vid_detection_widget, '视频检测')
- self.addTab(about_widget, '联系我')
- self.setTabIcon(0, QIcon('images/UI/lufei.png'))
- self.setTabIcon(1, QIcon('images/UI/lufei.png'))
- self.setTabIcon(2, QIcon('images/UI/lufei.png'))
+
'''
***上传图片***
@@ -377,7 +374,7 @@ class MainWindow(QTabWidget):
### 视频开启事件 ###
'''
- # 视频和摄像头的主函数是一样的,不过是传入的source不同罢了
+ # 视频和摄像头的主函数是一样的,传入的source不同
def detect_vid(self):
# pass
model = self.model