增加军民港口文件区分

master
陈增辉 2025-09-22 17:18:26 +08:00
parent a9f390d2f8
commit a66f9ac220
2 changed files with 29 additions and 33 deletions

View File

@ -16,8 +16,6 @@ spacetySliceEnvPathExEPath=r"d:\ProgramData\anaconda3\envs\spacetySliceEnv\pytho
logPath=r"R:\TYSAR-德清院\A-预处理-未标注\A0-算法版本\AA\SpacetySliceDataTools\log\process.log"
def existOrCreate(dirpath):
if not os.path.exists(dirpath):
os.makedirs(dirpath)

View File

@ -17,6 +17,11 @@ portsliceSize=5000
shipsliceSize=1024
BlockOverLayer=0.25
def existOrCreate(dirpath):
if not os.path.exists(dirpath):
os.makedirs(dirpath)
def get_filename_without_ext(path):
base_name = os.path.basename(path)
if '.' not in base_name or base_name.startswith('.'):
@ -212,20 +217,6 @@ def stretchProcess(infilepath,outfilepath,strechmethod):
print("图像拉伸处理结束")
#切片模式
def getSlicePoints(h):
n = int(math.floor((h - 1024) * 1.2 / sliceSize))
step=int(math.ceil((h-1024)/n))
ti=list(range(0,h-1024,step))
ti.append(h-1024)
# 评价重叠率
movelayer=[]
for i in range(len(ti)-1):
movelayer.append((ti[i] + 1024 - ti[i + 1]) / 1024 * 100.0)
print("重叠率:",movelayer)
return ti
def getsliceGeotrans(GeoTransform,Xpixel,Ypixel):
XGeo = GeoTransform[0]+GeoTransform[1]*Xpixel+GeoTransform[2]*Ypixel
YGeo = GeoTransform[3]+GeoTransform[4]*Xpixel+GeoTransform[5]*Ypixel
@ -254,9 +245,9 @@ def getNextSliceNumber(n,sliceSize,overlap=0.25):
return newN,ti
def sliceShipDataset(rootname,im_data,src_im_data, im_Geotrans, im_proj, outfolder):
binfolder=os.path.join(outfolder,"unit8binfolder")
pngfolder=os.path.join(outfolder,"pngfolder")
tifffolder=os.path.join(outfolder,"tifffolder")
binfolder=os.path.join(outfolder,"舰船","unit8binfolder")
pngfolder=os.path.join(outfolder,"舰船","pngfolder")
tifffolder=os.path.join(outfolder,"舰船","tifffolder")
h,w=im_data.shape
@ -340,9 +331,9 @@ def slicePortDataset(rootname,im_data,src_im_data, im_Geotrans, im_proj, outfold
else:
pass
# 切片主流程
binfolder=os.path.join(outfolder,"unit8binfolder")
pngfolder=os.path.join(outfolder,"pngfolder")
tifffolder=os.path.join(outfolder,"tifffolder")
binfolder=os.path.join(outfolder,"港口","unit8binfolder")
pngfolder=os.path.join(outfolder,"港口","pngfolder")
tifffolder=os.path.join(outfolder,"港口","tifffolder")
h,w=im_data.shape
nextH,ht=getNextSliceNumber(h,portsliceSize,BlockOverLayer)
nextW,wt=getNextSliceNumber(w,portsliceSize,BlockOverLayer)
@ -371,18 +362,25 @@ def slicePortDataset(rootname,im_data,src_im_data, im_Geotrans, im_proj, outfold
def stretchSliceProcess(infilepath, outfolder,portfilestr, strechmethod):
binfolder=os.path.join(outfolder,"unit8binfolder")
pngfolder=os.path.join(outfolder,"pngfolder")
tifffolder=os.path.join(outfolder,"tifffolder")
shipbinfolder=os.path.join(outfolder,"舰船","unit8binfolder")
shippngfolder=os.path.join(outfolder,"舰船","pngfolder")
shiptifffolder=os.path.join(outfolder,"舰船","tifffolder")
allpngfolder = os.path.join(outfolder, "allpngfolder")
if not os.path.exists(binfolder):
os.makedirs(binfolder)
if not os.path.exists(pngfolder):
os.makedirs(pngfolder)
if not os.path.exists(tifffolder):
os.makedirs(tifffolder)
if not os.path.exists(allpngfolder):
os.makedirs(allpngfolder)
portbinfolder=os.path.join(outfolder,"港口","unit8binfolder")
portpngfolder=os.path.join(outfolder,"港口","pngfolder")
porttifffolder=os.path.join(outfolder,"港口","tifffolder")
existOrCreate(shipbinfolder)
existOrCreate(shippngfolder)
existOrCreate(shiptifffolder)
existOrCreate(allpngfolder)
existOrCreate(portbinfolder)
existOrCreate(portpngfolder)
existOrCreate(porttifffolder)
im_proj, im_Geotrans, im_data=read_tif(infilepath)
src_im_data=im_data*1.0
im_data = DataStrech(im_data,strechmethod) # 拉伸