SpacetySliceTools/MatchLabelResultAndSliceTiF...

69 lines
2.4 KiB
Python

import numpy as np
import os
from glob import glob
from pathlib import Path
from multiprocessing import Pool
import argparse
########################################################
# 函数区
########################################################
spacetySliceEnvPathExEPath=r"D:\ProgramData\miniconda3\envs\spacetySliceEnv\python.exe"
def find_tif_files_pathlib(directory):
"""
使用pathlib.Path.rglob递归查找指定目录下所有.tif和.tiff文件
参数:
directory (str): 要搜索的根目录路径
返回:
list: 包含所有找到的.tif/.tiff文件完整路径的列表
"""
path = Path(directory)
# 使用rglob递归匹配所有.tif和.tiff文件
tif_files = list(path.rglob('*.bin'))
# 将Path对象转换为字符串路径
return [str(file) for file in tif_files]
def find_txt_files_pathlib(directory):
"""
使用pathlib.Path.rglob递归查找指定目录下所有.tif和.tiff文件
参数:
directory (str): 要搜索的根目录路径
返回:
list: 包含所有找到的.tif/.tiff文件完整路径的列表
"""
path = Path(directory)
# 使用rglob递归匹配所有.tif和.tiff文件
tif_files = list(path.rglob('*.txt'))
# 将Path对象转换为字符串路径
return [str(file) for file in tif_files]
def matchTiff_Txt(tiffpaths,txtPaths):
match_results={}
tiffID=0
for tid in range(len(tiffpaths)):
tiffID=tiffID+1
match_results[tiffID]={"tiff":tiffpaths[tid],"txt":[]}
rootname=Path(tiffpaths[tid]).stem
for txtpath in txtPaths:
txtrootname=Path(txtpath).stem
if txtrootname.startswith(rootname):
match_results[tiffID]["txt"].append(txtpath)
return match_results
def getParams():
parser = argparse.ArgumentParser()
parser.add_argument('-i','--inbinfile',type=str,default=r'D:\Annotation_Y\港口\聚束模式\20250505_sp\bc3-sp-org-vv-20250410t053930-020615-000034-005087-01.tiff', help='输入tiff的bin文件')
parser.add_argument('-l', '--labelfilepath',type=str,default=r"D:\Annotation_Y\港口\聚束模式\20250505_sp\bc3-sp-org-vv-20250410t053930-020615-000034-005087-01_LC.txt", help='输入标注')
parser.add_argument('-o', '--outfolderpath',type=str,default=r'D:\Annotation_Y\结果文件', help='切片文件夹地址')
args = parser.parse_args()
return args