forked from PulseFocusPlatform/PulseFocusPlatform
Compare commits
7 Commits
Author | SHA1 | Date |
---|---|---|
p57492168 | 48c3f57645 | |
p57492168 | 02a53f91cc | |
p57492168 | d41725a0b0 | |
p57492168 | 991d45640d | |
p57492168 | 3db7a815da | |
p57492168 | 3e7cf3d707 | |
p57492168 | c7ed7f15c1 |
|
@ -0,0 +1,3 @@
|
|||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
|
@ -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>
|
|
@ -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>
|
|
@ -0,0 +1,6 @@
|
|||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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. 软件运行
|
||||
|
|
20
SSS_win.py
20
SSS_win.py
|
@ -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"))
|
||||
|
|
|
@ -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
17
main.py
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue