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

深度学习YOLOv3压双黄线期末项目

一、引言

实现功能

目录

一、引言

实现功能

打开视频

连续检测车辆

能检测到道路中间的双黄线

能检测出车辆是否压双黄线

当车辆压到双黄线时给出提示

要求使用多线程实现功能

二、技术栈概览

三、代码功能深度剖析

视频文件选择功能(choosevideo 函数)

四、项目亮点提炼

五、总结与展望


1.打开视频

2.连续检测车辆

3.能检测到道路中间的双黄线

4.能检测出车辆是否压双黄线

5.当车辆压到双黄线时给出提示

6.要求使用多线程实现功能

二、技术栈概览

PyQt5 简介

以下是pyqt5界面代码:

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.9.2
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1096, 647)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
        self.gridLayout.setObjectName("gridLayout")
        self.widget = QtWidgets.QWidget(self.centralwidget)
        self.widget.setStyleSheet("background-color: rgb(100, 150, 100);\n"
"\n"
"")
        self.widget.setObjectName("widget")
        self.frame = QtWidgets.QFrame(self.widget)
        self.frame.setGeometry(QtCore.QRect(310, 190, 441, 321))
        self.frame.setStyleSheet("border: 1px solid #666; ")
        self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame.setObjectName("frame")
        self.label_2 = QtWidgets.QLabel(self.frame)
        self.label_2.setGeometry(QtCore.QRect(60, 10, 331, 291))
        self.label_2.setStyleSheet("border-color: rgb(255, 255, 255);")
        self.label_2.setText("")
        self.label_2.setObjectName("label_2")
        self.widget_2 = QtWidgets.QWidget(self.widget)
        self.widget_2.setGeometry(QtCore.QRect(320, 520, 411, 99))
        self.widget_2.setStyleSheet("background-color: rgb(255, 255, 255);")
        self.widget_2.setObjectName("widget_2")
        self.formLayout = QtWidgets.QFormLayout(self.widget_2)
        self.formLayout.setContentsMargins(0, 0, 0, 0)
        self.formLayout.setObjectName("formLayout")
        self.pushButton_2 = QtWidgets.QPushButton(self.widget_2)
        self.pushButton_2.setStyleSheet("background-color: rgb(0, 255, 0);")
        self.pushButton_2.setObjectName("pushButton_2")
        self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.pushButton_2)
        self.pushButton = QtWidgets.QPushButton(self.widget_2)
        self.pushButton.setStyleSheet("background-color: rgb(0, 255, 0);")
        self.pushButton.setObjectName("pushButton")
        self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.pushButton)
        self.pushButt

http://www.kler.cn/a/468575.html

相关文章:

  • (leetcode算法题)面试题 17.19. 消失的两个数字
  • HarmonyOS-面试资料
  • kafka使用以及基于zookeeper集群搭建集群环境
  • 图数据库 | 17、高可用分布式设计(上)
  • 学习threejs,导入AWD格式的模型
  • 基于物联网的冻保鲜运输智能控制系统
  • 7-10 逆序对
  • ArkTS更简洁
  • 贝叶斯算法详解:用概率思维解决分类难题
  • 如何提高软件研发效率?
  • 0042.大学校园生活信息平台+论文
  • 2.1.8 epoll的实现原理
  • 流程图(三)利用python绘制桑基图
  • 指代消解:自然语言处理中的核心任务与技术进展
  • 使用 LangChain 构建聊天机器人:从基础到实战
  • 跨平台游戏引擎 Axmol-2.3.0 发布
  • STM32-笔记37-吸烟室管控系统项目
  • 国产编辑器EverEdit - 使用技巧:变量重命名的一种简单替代方法
  • Memcached prepend 命令
  • 华为OD E卷(100分)47-不等式是否满足约束并输出最大差
  • JavaWeb开发(四)HttpServletRequest
  • Web前端基础知识(六)
  • 奥迪TT MK1(初代奥迪TT、第一代奥迪TT)仪表盘故障/不精准/水温/剩余油量不准,如何修复、测试、复位?
  • 系统思考—企业辅导
  • 第06章 重定向与管道
  • LabVIEW计算机软件著作权