Слияние кода завершено, страница обновится автоматически
import os.path
import sys
import threading
import PySimpleGUI as sg
from backend.tif import *
def work_on_file(work_dir, pic_dir):
pic_name = os.path.split(pic_dir)[1]
tif = Tif(work_dir, pic_name, pic_dir)
# 图片分割
tif.segmentation()
# 目标检测
ship_result = tif.predict()
# 检测结果数据补充
ship_result = backend.ship_supplement(ship_result, tif)
# 获取tiff信息
tiff_informat = tif.xml_info()
# 数据库插入tiff信息
backend.insert_tif(tiff_informat)
# 数据库插入船只信息
backend.insert_ship(ship_result)
print(f"已处理 {pic_name}")
def work_on_file_thread(work_dir, pic_dir):
threading.Thread(target=work_on_file, args=(work_dir, pic_dir,), daemon=True).start()
def work_on_dir(work_dir=r'H:\Ship_System'):
pic_name_list = os.listdir(os.path.join(work_dir, TIF_DIR))
for pic_name in pic_name_list:
work_on_file(work_dir, pic_name)
if __name__ == '__main__':
file_dir = sys.argv[1]
work_dir = r'/home/esword/ship_system'
# work_dir = r'H:\Ship_System' #r'/home/esword/ship_system'
sg.theme('Black')
layout = [[sg.Text('遥感图像目录:')],
[sg.InputText(size=(73, 5), default_text=file_dir, key='-INPUT_DIR-'),
sg.FolderBrowse('...', initial_folder=os.getcwd())],
[sg.Output(size=(80, 20))],
[sg.Button('确认'), sg.Button('退出')]]
# 3 - Create window
window = sg.Window('遥感舰船识别系统V1.0 Powered by WHUT', font='微软雅黑 12', layout=layout)
# window['-INPUT_DIR-'].update(file_dir)
# 4 - Event Loop
while True:
event, values = window.read()
if event in (None, '退出'):
break
if event == '确认':
work_on_file_thread(work_dir, values['-INPUT_DIR-'])
# 5 - Close window
window.close()
#
# Json(弃用):
# backend= backend.utils(pic_path=pic_path,json_path=json_path)
# backend.datas2Json(result)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )