Compare commits

...

7 Commits
master ... read

Author SHA1 Message Date
p57492168 48c3f57645 readme修改 2022-06-19 21:13:26 +08:00
p57492168 02a53f91cc 注释删除 2022-06-19 21:11:41 +08:00
p57492168 d41725a0b0 注释删除 2022-06-18 22:55:47 +08:00
p57492168 991d45640d 注释删除 2022-06-18 22:50:02 +08:00
p57492168 3db7a815da 按钮内容修改 2022-06-18 22:45:03 +08:00
p57492168 3e7cf3d707 添加按钮 2022-06-18 22:41:01 +08:00
p57492168 c7ed7f15c1 修改readme 2022-06-18 22:34:56 +08:00
12 changed files with 73 additions and 27 deletions

3
.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.7 (Focus)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="PyDocumentationSettings">
<option name="format" value="PLAIN" />
<option name="myDocStringFormat" value="Plain" />
</component>
</module>

View File

@ -0,0 +1,13 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="PyUnresolvedReferencesInspection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoredIdentifiers">
<list>
<option value="runtest.ImageEditorPage" />
<option value="ImageEditorPage" />
</list>
</option>
</inspection_tool>
</profile>
</component>

View File

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

4
.idea/misc.xml Normal file
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7 (Focus)" project-jdk-type="Python SDK" />
</project>

8
.idea/modules.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/PulseFocusPlatform.iml" filepath="$PROJECT_DIR$/.idea/PulseFocusPlatform.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -5,14 +5,14 @@ Pulse Focus Platform脉冲聚焦是面向水底物体图像识别的实时检测
脉冲聚焦软件设计了图片和视频两种数据输入下的多物体识别功能。针对图片数据,调用模型进行单张图片预测,随后在前端可视化输出多物体识别结果;针对视频流动态图像数据,首先对视频流数据进行分帧采样,获取采样图片,再针对采样图片进行多物体识别,将采样识别结果进行视频合成,然后在前端可视化输出视频流数据识别结果。为了视频流数据处理的高效性,设计了采样-识别-展示的多线程处理方式,可加快视频流数据处理。
软件界面简单,易学易用,包含参数的输入选择,程序的运行,算法结果的展示等,源代码公开,算法可修改。
开发人员K. Wang、H.P. Yu、J. Li、H.T. Li、Z.Q. Wang、Z.Y. Zhao、L.F. Zhang、G. Chen
开发人员:王凯、于化鹏、李晶、王兆琦、李慧涛、赵志允、张乐飞、陈光
## 1. 开发环境配置
运行以下命令:
```bash
conda env create -f create_env.yaml
```
该命令会创建一个名为`Focus`的conda虚拟环境用`conda activate Focus`即可激活该虚拟环境。
该命令会根据create_env.yaml配置文件创建一个名为`Focus`的conda虚拟环境用`conda activate Focus`即可激活该虚拟环境。
## 2. 软件运行

View File

@ -1,11 +1,9 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'SSS_win.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
# Created by: PyQt5 UI code generator 5.12.3
#
# 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.
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
@ -92,6 +90,9 @@ class Ui_MainWindow(object):
self.pushButton_rjwendang = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_rjwendang.setObjectName("pushButton_rjwendang")
self.verticalLayout_3.addWidget(self.pushButton_rjwendang)
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setObjectName("pushButton")
self.verticalLayout_3.addWidget(self.pushButton)
self.pushButton_tuichu = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_tuichu.setObjectName("pushButton_tuichu")
self.verticalLayout_3.addWidget(self.pushButton_tuichu)
@ -147,13 +148,13 @@ class Ui_MainWindow(object):
self.xunlian.clicked.connect(MainWindow.press_xunlian)
self.pushButton_tuichu.clicked.connect(MainWindow.exit)
self.shipindaoru.clicked.connect(MainWindow.press_movie)
self.comboBox_sbsuanfa.activated.connect(MainWindow.moxingxuanze)
self.comboBox_GPU.activated.connect(MainWindow.gpu_use)
self.comboBox_sbsuanfa.activated['QString'].connect(MainWindow.moxingxuanze)
self.comboBox_GPU.activated['QString'].connect(MainWindow.gpu_use)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "脉冲聚焦"))
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.tupiandiaoru.setText(_translate("MainWindow", "静态图像导入"))
self.shipindaoru.setText(_translate("MainWindow", "动态图像导入"))
self.pushButton_xxdaochu.setText(_translate("MainWindow", "信息导出"))
@ -162,7 +163,7 @@ class Ui_MainWindow(object):
self.comboBox_yclfangfa.setItemText(0, _translate("MainWindow", "多尺度融合"))
self.comboBox_yclfangfa.setItemText(1, _translate("MainWindow", "图像增广"))
self.comboBox_yclfangfa.setItemText(2, _translate("MainWindow", "图像重塑"))
self.label_3.setText(_translate("MainWindow", "聚焦算法"))
self.label_3.setText(_translate("MainWindow", "识别算法"))
self.comboBox_sbsuanfa.setCurrentText(_translate("MainWindow", "PPYOLO-BOT"))
self.comboBox_sbsuanfa.setItemText(0, _translate("MainWindow", "PPYOLO-BOT"))
self.comboBox_sbsuanfa.setItemText(1, _translate("MainWindow", "YOLOV3"))
@ -172,10 +173,11 @@ class Ui_MainWindow(object):
self.comboBox_GPU.setItemText(0, _translate("MainWindow", "YES"))
self.comboBox_GPU.setItemText(1, _translate("MainWindow", "NO"))
self.label.setText(_translate("MainWindow", "特征选择"))
self.shibie.setText(_translate("MainWindow", "聚焦"))
self.shibie.setText(_translate("MainWindow", "识别"))
self.xunlian.setText(_translate("MainWindow", "训练"))
self.pushButton_jswendang.setText(_translate("MainWindow", "技术文档"))
self.pushButton_rjwendang.setText(_translate("MainWindow", "软件说明文档"))
self.pushButton.setText(_translate("MainWindow", "关于我们"))
self.pushButton_tuichu.setText(_translate("MainWindow", "退出"))
self.label_mb1.setText(_translate("MainWindow", "flv"))
self.flv.setText(_translate("MainWindow", "0"))

View File

@ -189,6 +189,13 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>关于我们</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_tuichu">
<property name="text">

Binary file not shown.

17
main.py
View File

@ -1,6 +1,5 @@
import random
import string
# from typing_extensions import ParamSpecArgs
from PyQt5.QtWidgets import *
from SSS_win import Ui_MainWindow
from PyQt5 import QtCore, QtGui, QtWidgets
@ -38,7 +37,7 @@ class mywindow(QtWidgets.QMainWindow, Ui_MainWindow):
self.stopEvent = threading.Event()
self.stopEvent.clear()
# self.setWindowFlags(Qt.FramelessWindowHint)
def exit(self):
self.close()
@ -125,20 +124,6 @@ class mywindow(QtWidgets.QMainWindow, Ui_MainWindow):
except Exception as e:
pass
# files=os.listdir(self.video_image_path)
# print(type(files))
# files=self.Sorted(files)
# print(files)
# for xmlFile in files:
# print(xmlFile)
# self.label_movie.setPixmap(QtGui.QPixmap(
# self.video_image_path+'/'+xmlFile))
# time.sleep(0.5)
def Sorted(self,files):
files=[int(i.split('.')[0]) for i in files]
files.sort()