如何做一个完整的网站做企业网站注意些啥
如何做一个完整的网站,做企业网站注意些啥,没有任何收录的网站做SEM有用吗,企业网站怎样做优化一、项目介绍
随着零售行业的快速发展#xff0c;智能商品识别技术在超市自动化管理中扮演着重要角色。本文基于深度学习技术#xff0c;提出了一种基于YOLOv11的超市商品识别检测系统。该系统通过YOLOv11算法实现了对295类超市商品的高精度实时检测#xff0c;并集成了用户…一、项目介绍随着零售行业的快速发展智能商品识别技术在超市自动化管理中扮演着重要角色。本文基于深度学习技术提出了一种基于YOLOv11的超市商品识别检测系统。该系统通过YOLOv11算法实现了对295类超市商品的高精度实时检测并集成了用户友好的UI界面与登录注册功能。实验采用包含8336张训练图像和2163张验证图像的自定义YOLO数据集验证了模型在复杂场景下的鲁棒性。系统支持商品自动分类、库存管理等功能为零售智能化提供了可行的解决方案。结果表明该方法在准确性和效率上均能满足实际应用需求具有较高的商业价值。引言近年来计算机视觉技术的进步为零售行业带来了革命性的变革尤其是商品自动识别技术显著提升了超市运营效率。然而传统识别方法受限于光照变化、商品重叠和类别多样性等挑战难以满足实际场景需求。深度学习目标检测算法如YOLO系列因其速度快、精度高的特点成为解决这一问题的有效工具。本文基于YOLOv11模型构建了一套完整的超市商品识别检测系统。系统针对295类常见商品如饮料、零食、生鲜等进行优化覆盖了从“Nescafe Creamy Latte Twin Pack”到“Del Monte Pineapple Juice Drink Heart Smart”的广泛品类。通过整合登录注册界面与可视化UI系统实现了用户权限管理与交互友好性。实验数据表明在包含10,499张图像训练集8336张验证集2163张的数据集上模型表现出优异的检测性能。目录一、项目介绍引言二、项目功能展示2.1 用户登录系统2.2 检测功能2.3 检测结果显示2.4 参数配置2.5 其他功能3. 技术特点4. 系统流程三、数据集介绍1. 数据集组成2. 数据分布与类别覆盖数据集配置文件四、项目环境配置创建虚拟环境安装所需要库五、模型训练训练代码训练结果六、核心代码登录注册验证 多重检测模式️ 沉浸式可视化⚙️ 参数配置系统✨ UI美学设计 智能工作流七、项目源码视频简介基于深度学习YOLOv11的超市商品识别检测系统YOLOv11YOLO数据集UI界面登录注册界面Python项目源码模型_哔哩哔哩_bilibili基于深度学习YOLOv11的超市商品识别检测系统YOLOv11YOLO数据集UI界面登录注册界面Python项目源码模型二、项目功能展示✅ 用户登录注册支持密码检测和安全性验证。✅ 三种检测模式基于YOLOv11模型支持图片、视频和实时摄像头三种检测精准识别目标。✅ 双画面对比同屏显示原始画面与检测结果。✅ 数据可视化实时表格展示检测目标的类别、置信度及坐标。✅智能参数调节提供置信度滑块动态优化检测精度适应不同场景需求。✅科幻风交互界面深色主题搭配动态光效减少视觉疲劳提升操作体验。✅多线程高性能架构独立检测线程保障流畅运行实时状态提示响应迅速无卡顿。2.1 用户登录系统提供用户登录和注册功能用户名和密码验证账户信息本地存储(accounts.json)密码长度至少6位的安全要求2.2 检测功能图片检测支持JPG/JPEG/PNG/BMP格式图片的火焰烟雾检测视频检测支持MP4/AVI/MOV格式视频的逐帧检测摄像头检测实时摄像头流检测(默认摄像头0)检测结果保存到results目录2.3 检测结果显示显示原始图像和检测结果图像检测结果表格展示包含检测到的类别置信度分数物体位置坐标(x,y)、2.4 参数配置模型选择置信度阈值调节(0-1.0)IoU(交并比)阈值调节(0-1.0)实时同步滑块和数值输入框2.5 其他功能检测结果保存功能视频检测时自动保存结果视频状态栏显示系统状态和最后更新时间无边框窗口设计可拖动和调整大小3. 技术特点采用多线程处理检测任务避免界面卡顿精美的UI设计具有科技感的视觉效果发光边框和按钮悬停和按下状态效果自定义滑块、表格和下拉框样式检测结果保存机制响应式布局适应不同窗口大小4. 系统流程用户登录/注册选择检测模式(图片/视频/摄像头)调整检测参数(可选)开始检测并查看结果可选择保存检测结果停止检测或切换其他模式三、数据集介绍本超市商品识别检测系统采用自定义YOLO格式数据集包含295类常见超市商品涵盖饮料、零食、调味品、生鲜食品、乳制品等多个类别。数据集经过严格标注和清洗确保模型训练的准确性和泛化能力。1. 数据集组成训练集8,336张图像验证集2,163张图像总数据量10,499张图像标注格式YOLO格式.txt文件包含类别ID和归一化边界框坐标2. 数据分布与类别覆盖数据集涵盖295种商品主要类别包括饮料类如Coca Cola、Pepsi、Mountain Dew、7UP零食类如Oreo、Lays、Pringles、Jack n Jill系列乳制品如Alaska Condensada、Bear Brand、Yakult调味品如Datu Puti Soy Sauce、Del Monte番茄酱生鲜食品如Tomatoes、Ginger、Garlic、Bell Pepper罐头食品如555 Tuna、San Marino Corned Tuna方便食品如Lucky Me Pancit Canton、Nissin Cup Noodles数据集配置文件数据集采用标准化YOLO格式组织train: F:\超市商品检测数据集\train\images val: F:\超市商品检测数据集\val\images test: nc: 295 names: [Nescafe Creamy Latte Twin Pack, Green Chili, Rebisco Choco Crackers, Tomatoes, Ginger, Sliced Garlic, Garlic, Oishi Crispy Patata, Oreo Chocolate Creme, Nissin Butter Coconut, Hansel Chocolate Sandwich, Nestea Lemon Tea Drink, Rebisco Hansel Crackers, Summit Drinking Water, Delight Duo Active Probiotic Fiber, Rebisco Strawberry Crackers, Nescafe Original, Absolute Pure Distilled Drinking Water, Jersey Chocolate Condensed Creamer, M Y San Grahams, Jolly Mushrooms, Don Frank Buko Pandan Gulaman Powder, YS Quality Nata de Coco Green, Doreen Sweetened Condensed Creamer, All Natural Seasons Tropical Fruit, Daily Quezo, Cadbury Dairy Milk Wholenut, Pure Foods Chinese Style Luncheon Meat, Del Monte Pineapple Tidbits, Great Buy Mushrooms Pieces And Stems, Alaska Evaporada, Alaska Condensada, Swiss Miss Chocolate Milk Blend, Nutri Snack Moby Crunchy Chocolate, Apple, Granny Goose Tortillos Cheese, Granny Goose Tortillos Chili, Jack n Jill Piattos Cheese, Jack n Jill Vcut Spicy Barbeque, Jack n Jill Pic A Ultimate Cheddar, Jack n Jill Nova Cheddar Flavor, Nutri Snack PeeWee Sizzling Bbq, Oishi Potato Chips Plain Salted Flavor, Jack n Jill Piattos Cheese Supersized, Lays Stax Sour Cream And Onion, Lays Stax Original, Pik Nik, Pringles Sour Cream and Onion, Doritos Nacho Cheese, Lays Classic, Mountain Dew, Pepsi, 7UP, Mug Root Beer, Mirinda Orange Flavor, Jack n Jill Chicharon ni Mang Juan, Nutri Snack Cheez It Cheese, Galinco Chips Delight Chocolate Chip Cookies, Bingo Double Choco, Nissin Bread Stix, Nissin EggNog Cookies, Stateline Loaded Chocolate Filled, Oishi Pillows Choco Filled Crackers, Jack n Jill Dewberry Blueberries n Cream, Leslies Clover Chips Cheesier, Leslies Clover Chips Chili And Cheese, Choco Mucho Milk Chocolate, Choco Mucho Dark Chocolate, Choco Mucho White Chocolate, Nestle Koko Krunch All in One, Oishi Bread Pan Cheese and Onion, Mayora Cal Cheese Cheese Wafer, Glico Pocky Strawberry, Glico Pocky Chocolate, Nestle Koko Krunch Chocolate, Nestle Gold Corn Flakes, Cheez Whiz Original, Cdo Funtastyk Chicken Tocino, Pampangas Best Tocino Original, Del Monte Original Style Tomato Sauce, Del Monte Sweet Style Sphagetti Sauce, Del Monte Italian Style Spaghetti Sauce, Datu Puti Vinegar, Datu Puti Soy Sauce, Jack n Jill Piattos Sour Cream and Onion Supersized, Coca Cola Zero Sugar, Alaska Classic Sweetened Condensed Filled Milk, Jack n Jill Piattos Sour Cream and Onion, Tang Pineapple, Uni Pak Premium Sardines, Super Delights Brownie Bites Chocolate, Jack n Jill Quake Overload Mocha Butter, Doowee Donut White Choco Frost With Milky Cream Flavored, Lemon Square Lava Cake Chocolate, Lemon Square Lava cake Cream Bavarian, Doowee Donut Strawberry Dipped Donut With Strawberry Flavored, Fudgee Barr Macapuno, Oishi Bread Pan White Cheddar Cheese, Vitasoy Original, Cobra Energy Drink, Jack n Jill Piattos Roadhouse Barbecue, Coca Cola Original in Can, Jumpee Chocolate, Jack n Jill Nips Peanut, Jack n Jill Nips White Chocolate, Jack n Jill Hello Chocolate, Jack n Jill Cream O Vanilla, Choco Mucho Cookie Sandwich White Chocolate, Lays Stax Extra Cheese Flavour, Bear Brand Swak Pack Chocomilk, 555 Tuna Caldereta, 555 Tuna Afritada, Del Monte Filipino Style Spaghetti Sauce, Lucky Me Pancit Canton Extra Hot Chili, Del Monte Creamy and Cheesy Sphagetti Sauce, Kopiko Brown Coffee, Nestle Milo, Pringles Saucy BBQ, Oishi Kirei Shrimp Flavor, Jack n Jill Presto Choco Vanilla, Jack n Jill Presto Chocolate, Combi Triple Choco, Nagaraya Garlic Cracker Nuts, Vitamilk Double Choco Shake, Zesto Big Pineapple, Zesto Big Mango, Nestle Bear Brand Sterilized Milk, Pampangas Best Chicken Longaniza, Zesto Big Grapes, Selecta Moo Fortified Chocolate, Goya Very Berries, Goya Dark Chocolate, Jack n Jill Chippy Barbecue, San Marino Chili Corned Tuna, C2 Apple Green Tea, Coca Cola Sprite, Coca Cola Royal, Coca Cola Coke Zero, Del Monte Mango Juice Drink, Del Monte Sweetened Pineapple Juice Drink, Del Monte Four Seasons, Coca Cola Original, Goya Choco Spread, Lucky Me Go Cup Batchoy, Lucky Me Go Cup Bulalo, Gatorade Blue Bolt, Gatorade Fierce Tropical Fruit, Gatorade Fierce Grape, Ion Supply Drink Pocari Sweat, Cdo Meat Loaf, Argentina Meat Loaf, Cdo Karne Norte Classic, Argentina Corned Beef, C2 Lemon Green Tea, Coca Cola Sprite in Can, Jinro Peach Soju, Jinro Grapefruit Soju, Jinro Strawberry Soju, Jinro Green Grape Soju, Jinro Chamisul Original Soju, Selecta Quezo Real, Selecta Choco Almond Fudge, Yakult Probiotics, Grapes, Bell Pepper, Calamansi, Lemon, Tofu, Bok Choy, Cabbage, Orange, King Sue Pork Tocino, King Sue Chicken Tocino, Pampangas Best Smoked Longaniza, Pampangas Best Native Longaniza, Pampangas Best Pampanga Longaniza, Pringles Cheesy Cheese, Ferrero Rocher, Jack n Jill Presto Peanut, El Rancho Corned Beef, Century Tuna Flakes in Oil, San Marino Corned Tuna, Zesto Big Apple, Bear Brand Fortified Powdered Drink Milk, Juan Tasty, Lucky Me Pancit Canton Chilimansi, Lucky Me Pancit Canton Kalamansi, Nutri Snack Moby Caramel Puffs, Vicente Vidal Queso y Cebolla, Hansel Mocha Sandwich, O Puff Mango Cream Filled Marshmallows, Nissin Cup Noodles Spicy Hot Beef, Fudgee Barr Vanilla, Chips Ahoy Milka, Ritter Sport Nocciole Intere, Snickers, Jack n Jill Cloud 9 Classic, Mars Caramel Chocolate Bar, Galinco Chips Delight Striped Chocolate Cookies, Fudgee Barr Chocolate, Selecta Strawberry Solo Pack, Lucky Me Beef na Beef Noodles, Lucky Me Chicken na Chicken Noodles, Knorr Liquid Seasoning Original, Pedro Domecq Fundador Solera, Great Taste Supreme Toffee Hazelnut, Pineapple, 555 Sardines in Tomato Sauce, Hokkaido Mackerel, Argentina Giniling, Choco Chum Choco, Carrot, Egg, Super Golden Bihon, Eggplant, Oishi Bread Pan Buttered Toast, Nissin Cup Noodles Beef, Nissin Cup Noodles Seafood, Eden Original, Reno Liver Spread, QuesO Cheese, OK Cheese, Vitasoy Plus Original, Magic Chips Cheese Flavored, Magic Chips Barbeque Flavored, Delfi Knick Knacks Strawberry, Jack n Jill Cheesy Knots Milky Cheese Flavored, Oishi Sponge Chocolate Crunch, Jack n Jill Quake Overload White Choco, Jack n Jill Cloud 9 Choco Fudge, Bingo Orange Cream, Pringles Pizza, Mini Oreo Original, Oishi Bread Pan Toasted Garlic, EC Crunchy Choco Flakes, Galinco Chips Delight Striped Cappuccino Cookies, Fibisco The Ultimate Chocolate Chip Cookies, Fibisco Choco Mallows, Oreo Chocolate Cream, Oreo Double Stuff, Goya Milk Chocolate, Goya Almond in Milk Chocolate, Jack n Jill Nips Creamy Tiramisu, Goya Winter Chill Milk Chocolate, Oishi Prawn Crackers Spicy Flavor, Jack n Jill Nips Milk Chocolate, Jack n Jill Nips Dark Chocolate, Jack n Jill Piattos Roast Beef, Blue Lychee, Le Mineral, Refresh Mineral Water, Zesto Big Orange, Del Monte Pineapple Juice With Vitamins ACE, Aqua Life Filtration Systems, Wilkins Sparkling Water, Coca Cola Zero Sugar in Can, Jack n Jill Roller Coaster Cheddar Cheese Flavored, Jack n Jill Mr Chips Nacho Cheese Flavored, Jack n Jill Chippy Chili and Cheese, Oishi Rinbee Cheese, Oishi Potato Fries Cheese, Oishi Cracklings Salt and Vinegar, Oishi Fishda Fish Kropeck, Mayora Beng Beng Chocolate, Goya Cream White Chocolate, StickO Chocolate, Yum Yum Strawberry Snack, Choco Chum White Choco, Oishi Pillows Ube Filled Crackers, Snack Pack Choco Crunchies Chocolate, Fibisco Hi Ro Chocolate Flavored, Fudgee Barr Milk Custard, Topss Choco, Del Monte Potato Crisp Biscuit Original, Jack n Jill Dewberry Blueberry Cheesecake, Nescafe Creamy White Twin Pack, Jersey Sweetened Condensed Creamer, Todays Mixed Fruit, Nestle All Purpose Cream, Del monte Fiesta Fruit Cocktail, Royal Elbow Macaroni, Del Monte Fiilipino Style Spaghetti Sauce, Angel All Purpose Creamer, Ladys Choice Real Mayonnaise, Cadbury Dairy Milk, Lotte Pepero Original, Jalees BBQ Mushroom Chicharon, Jalees Garlic Mushroom Chicharon, Lotte Pepero Almond, Toblerone White Chocolate, Goya Take It 4 Fingers, Goya Take it Dark Chocolate, M-Ms Chocolate, Vitamilk Choco Shake, Del Monte Pineapple Juice Drink Heart Smart]四、项目环境配置创建虚拟环境首先新建一个Anaconda环境每个项目用不同的环境这样项目中所用的依赖包互不干扰。终端输入conda create -n yolov11 python3.9激活虚拟环境conda activate yolov11安装cpu版本pytorchpip install torch torchvision torchaudio安装所需要库pip install -r requirements.txtpycharm中配置anaconda五、模型训练训练代码from ultralytics import YOLO model_path yolo11s.pt data_path data.yaml if __name__ __main__: model YOLO(model_path) results model.train(datadata_path, epochs100, batch8, device0, workers0, projectruns, nameexp, )根据实际情况更换模型 # yolov11n.yaml (nano)轻量化模型适合嵌入式设备速度快但精度略低。 # yolov11s.yaml (small)小模型适合实时任务。 # yolov11m.yaml (medium)中等大小模型兼顾速度和精度。 # yolov11b.yaml (base)基本版模型适合大部分应用场景。 # yolov11l.yaml (large)大型模型适合对精度要求高的任务。--batch 8每批次8张图像。--epochs 100训练100轮。--datasets/data.yaml数据集配置文件。--weights yolov11s.pt初始化模型权重yolov11s.pt是预训练的轻量级YOLO模型。训练结果六、核心代码import sys import cv2 import numpy as np from PyQt5.QtWidgets import QApplication, QMessageBox, QFileDialog from PyQt5.QtCore import QThread, pyqtSignal from ultralytics import YOLO from UiMain import UiMainWindow import time import os from PyQt5.QtWidgets import QDialog from LoginWindow import LoginWindow class DetectionThread(QThread): frame_received pyqtSignal(np.ndarray, np.ndarray, list) # 原始帧, 检测帧, 检测结果 finished_signal pyqtSignal() # 线程完成信号 def __init__(self, model, source, conf, iou, parentNone): super().__init__(parent) self.model model self.source source self.conf conf self.iou iou self.running True def run(self): try: if isinstance(self.source, int) or self.source.endswith((.mp4, .avi, .mov)): # 视频或摄像头 cap cv2.VideoCapture(self.source) while self.running and cap.isOpened(): ret, frame cap.read() if not ret: break # 保存原始帧 original_frame frame.copy() # 检测 results self.model(frame, confself.conf, iouself.iou) annotated_frame results[0].plot() # 提取检测结果 detections [] for result in results: for box in result.boxes: class_id int(box.cls) class_name self.model.names[class_id] confidence float(box.conf) x, y, w, h box.xywh[0].tolist() detections.append((class_name, confidence, x, y)) # 发送信号 self.frame_received.emit( cv2.cvtColor(original_frame, cv2.COLOR_BGR2RGB), cv2.cvtColor(annotated_frame, cv2.COLOR_BGR2RGB), detections ) # 控制帧率 time.sleep(0.03) # 约30fps cap.release() else: # 图片 frame cv2.imread(self.source) if frame is not None: original_frame frame.copy() results self.model(frame, confself.conf, iouself.iou) annotated_frame results[0].plot() # 提取检测结果 detections [] for result in results: for box in result.boxes: class_id int(box.cls) class_name self.model.names[class_id] confidence float(box.conf) x, y, w, h box.xywh[0].tolist() detections.append((class_name, confidence, x, y)) self.frame_received.emit( cv2.cvtColor(original_frame, cv2.COLOR_BGR2RGB), cv2.cvtColor(annotated_frame, cv2.COLOR_BGR2RGB), detections ) except Exception as e: print(fDetection error: {e}) finally: self.finished_signal.emit() def stop(self): self.running False class MainWindow(UiMainWindow): def __init__(self): super().__init__() # 初始化模型 self.model None self.detection_thread None self.current_image None self.current_result None self.video_writer None self.is_camera_running False self.is_video_running False self.last_detection_result None # 新增保存最后一次检测结果 # 连接按钮信号 self.image_btn.clicked.connect(self.detect_image) self.video_btn.clicked.connect(self.detect_video) self.camera_btn.clicked.connect(self.detect_camera) self.stop_btn.clicked.connect(self.stop_detection) self.save_btn.clicked.connect(self.save_result) # 初始化模型 self.load_model() def load_model(self): try: model_name self.model_combo.currentText() self.model YOLO(f{model_name}.pt) # 自动下载或加载本地模型 self.update_status(f模型 {model_name} 加载成功) except Exception as e: QMessageBox.critical(self, 错误, f模型加载失败: {str(e)}) self.update_status(模型加载失败) def detect_image(self): if self.detection_thread and self.detection_thread.isRunning(): QMessageBox.warning(self, 警告, 请先停止当前检测任务) return file_path, _ QFileDialog.getOpenFileName( self, 选择图片, , 图片文件 (*.jpg *.jpeg *.png *.bmp)) if file_path: self.clear_results() self.current_image cv2.imread(file_path) self.current_image cv2.cvtColor(self.current_image, cv2.COLOR_BGR2RGB) self.display_image(self.original_image_label, self.current_image) # 创建检测线程 conf self.confidence_spinbox.value() iou self.iou_spinbox.value() self.detection_thread DetectionThread(self.model, file_path, conf, iou) self.detection_thread.frame_received.connect(self.on_frame_received) self.detection_thread.finished_signal.connect(self.on_detection_finished) self.detection_thread.start() self.update_status(f正在检测图片: {os.path.basename(file_path)}) def detect_video(self): if self.detection_thread and self.detection_thread.isRunning(): QMessageBox.warning(self, 警告, 请先停止当前检测任务) return file_path, _ QFileDialog.getOpenFileName( self, 选择视频, , 视频文件 (*.mp4 *.avi *.mov)) if file_path: self.clear_results() self.is_video_running True # 初始化视频写入器 cap cv2.VideoCapture(file_path) frame_width int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) frame_height int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) fps cap.get(cv2.CAP_PROP_FPS) cap.release() # 创建保存路径 save_dir results os.makedirs(save_dir, exist_okTrue) timestamp time.strftime(%Y%m%d_%H%M%S) save_path os.path.join(save_dir, fresult_{timestamp}.mp4) fourcc cv2.VideoWriter_fourcc(*mp4v) self.video_writer cv2.VideoWriter(save_path, fourcc, fps, (frame_width, frame_height)) # 创建检测线程 conf self.confidence_spinbox.value() iou self.iou_spinbox.value() self.detection_thread DetectionThread(self.model, file_path, conf, iou) self.detection_thread.frame_received.connect(self.on_frame_received) self.detection_thread.finished_signal.connect(self.on_detection_finished) self.detection_thread.start() self.update_status(f正在检测视频: {os.path.basename(file_path)}) def detect_camera(self): if self.detection_thread and self.detection_thread.isRunning(): QMessageBox.warning(self, 警告, 请先停止当前检测任务) return self.clear_results() self.is_camera_running True # 创建检测线程 (默认使用摄像头0) conf self.confidence_spinbox.value() iou self.iou_spinbox.value() self.detection_thread DetectionThread(self.model, 0, conf, iou) self.detection_thread.frame_received.connect(self.on_frame_received) self.detection_thread.finished_signal.connect(self.on_detection_finished) self.detection_thread.start() self.update_status(正在从摄像头检测...)登录注册验证对应文件LoginWindow.py# 账户验证核心逻辑 def handle_login(self): username self.username_input.text().strip() password self.password_input.text().strip() if not username or not password: QMessageBox.warning(self, 警告, 用户名和密码不能为空) return if username in self.accounts and self.accounts[username] password: self.accept() # 验证通过 else: QMessageBox.warning(self, 错误, 用户名或密码错误) # 密码强度检查注册时 def handle_register(self): if len(password) 6: # 密码长度≥6位 QMessageBox.warning(self, 警告, 密码长度至少为6位)多重检测模式对应文件main.py图片检测def detect_image(self): file_path, _ QFileDialog.getOpenFileName( self, 选择图片, , 图片文件 (*.jpg *.jpeg *.png *.bmp)) if file_path: self.detection_thread DetectionThread(self.model, file_path, conf, iou) self.detection_thread.start() # 启动检测线程视频检测def detect_video(self): file_path, _ QFileDialog.getOpenFileName( self, 选择视频, , 视频文件 (*.mp4 *.avi *.mov)) if file_path: self.video_writer cv2.VideoWriter() # 初始化视频写入器 self.detection_thread DetectionThread(self.model, file_path, conf, iou)实时摄像头def detect_camera(self): self.detection_thread DetectionThread(self.model, 0, conf, iou) # 摄像头设备号0 self.detection_thread.start()️沉浸式可视化对应文件UiMain.py双画面显示def display_image(self, label, image): q_img QImage(image.data, w, h, bytes_per_line, QImage.Format_RGB888) pixmap QPixmap.fromImage(q_img) label.setPixmap(pixmap.scaled(label.size(), Qt.KeepAspectRatio)) # 自适应缩放结果表格def add_detection_result(self, class_name, confidence, x, y): self.results_table.insertRow(row) items [ QTableWidgetItem(class_name), # 类别列 QTableWidgetItem(f{confidence:.2f}), # 置信度 QTableWidgetItem(f{x:.1f}), # X坐标 QTableWidgetItem(f{y:.1f}) # Y坐标 ]⚙️参数配置系统对应文件UiMain.py双阈值联动控制# 置信度阈值同步 def update_confidence(self, value): confidence value / 100.0 self.confidence_spinbox.setValue(confidence) # 滑块→数值框 self.confidence_label.setText(f置信度阈值: {confidence:.2f}) # IoU阈值同步 def update_iou(self, value): iou value / 100.0 self.iou_spinbox.setValue(iou)✨UI美学设计对应文件UiMain.py科幻风格按钮def create_button(self, text, color): return f QPushButton {{ border: 1px solid {color}; color: {color}; border-radius: 6px; }} QPushButton:hover {{ background-color: {self.lighten_color(color, 10)}; box-shadow: 0 0 10px {color}; # 悬停发光效果 }} 动态状态栏def update_status(self, message): self.status_bar.showMessage( f状态: {message} | 最后更新: {time.strftime(%H:%M:%S)} # 实时时间戳 )智能工作流对应文件main.py线程管理class DetectionThread(QThread): frame_received pyqtSignal(np.ndarray, np.ndarray, list) # 信号量通信 def run(self): while self.running: # 多线程检测循环 results self.model(frame, confself.conf, iouself.iou) self.frame_received.emit(original_frame, result_frame, detections)七、项目源码视频简介基于深度学习YOLOv11的超市商品识别检测系统YOLOv11YOLO数据集UI界面登录注册界面Python项目源码模型_哔哩哔哩_bilibili基于深度学习YOLOv11的超市商品识别检测系统YOLOv11YOLO数据集UI界面登录注册界面Python项目源码模型