优化及bug修改
This commit is contained in:
1 parent
5467bbc232
commit
f4254f0051
9 files changed
+265
-38
No files matched your search
+52
-22
@@ -27,37 +27,67 @@ def make3d(pid):
|
||||
|
||||
simplify_value = 1000000 * libs.getHeadCount(pid)
|
||||
add_photo3 = ' '
|
||||
if common.task_need_photo3(pid):
|
||||
#判断是否存在photo3
|
||||
if os.path.exists(os.path.join(config.workdir, pid, 'photo3')):
|
||||
add_photo3 = ' -addFolder "' + os.path.join(config.workdir, pid, 'photo3') + '" -align -align '
|
||||
|
||||
if get_rcver() == 1: # old version
|
||||
|
||||
#判断oss 上是否存在 controlpoints 文件
|
||||
isExistPoint = common.isExistControlPointsOss(pid)
|
||||
cmd = f'{config.rcbin} {config.r1["init"]} \
|
||||
-addFolder "{os.path.join(config.workdir, pid, "photo1")}" -addFolder "{os.path.join(config.workdir, pid, "photo2")}" {add_photo3} \
|
||||
-importControlPointsMeasurements "{os.path.join(config.workdir, pid, f"{pid}.controlPoints.csv")}" \
|
||||
-align -save "{os.path.join(config.workdir, pid, f"{pid}_wait.rcproj")}"'
|
||||
-addFolder "{os.path.join(config.workdir, pid, "photo1")}" -addFolder "{os.path.join(config.workdir, pid, "photo2")}" {add_photo3} \
|
||||
-importControlPointsMeasurements "{os.path.join(config.workdir, pid, f"{pid}.controlPoints.csv")}" \
|
||||
-align -save'
|
||||
|
||||
#不存在point文件的时候就要用自动点击的方式
|
||||
if isExistPoint == False:
|
||||
cmd = cmd + f' "{os.path.join(config.workdir, pid, f"{pid}_wait.rcproj")}"'
|
||||
else:
|
||||
cmd = cmd + f' "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}" -quit'
|
||||
print(cmd)
|
||||
cmd = shlex.split(cmd)
|
||||
res = subprocess.run(cmd)
|
||||
print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} pid: {pid} 定位点导入完成')
|
||||
time.sleep(3)
|
||||
# defind_distance
|
||||
#死循环阻塞获取
|
||||
while True:
|
||||
print("循环阻塞开始")
|
||||
time.sleep(2)
|
||||
|
||||
if isExistPoint == False:
|
||||
print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} pid: {pid} 定位点导入完成')
|
||||
time.sleep(3)
|
||||
#判断是否有 pid_1 的的值
|
||||
print(pid+"_1")
|
||||
if redisLocal.lpos('model:auto_distance',pid+"_1") == None:
|
||||
continue
|
||||
shutil.move(os.path.join(config.workdir, pid, f'{pid}_wait.rcproj'), os.path.join(config.workdir, pid, f'{pid}.rcproj'))
|
||||
print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} pid: {pid} 定义定位点距离完成')
|
||||
#最后处理掉redis中的值
|
||||
redisLocal.lrem('model:auto_distance', 0, pid+"_1")
|
||||
break
|
||||
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),"循环阻塞结束,开始建模")
|
||||
# defind_distance
|
||||
#死循环阻塞获取
|
||||
while True:
|
||||
print("循环阻塞开始")
|
||||
time.sleep(3)
|
||||
#判断是否有 pid_1 的的值
|
||||
print(pid+"_1")
|
||||
if redisLocal.lpos('model:auto_distance',pid+"_1") == None:
|
||||
continue
|
||||
shutil.move(os.path.join(config.workdir, pid, f'{pid}_wait.rcproj'), os.path.join(config.workdir, pid, f'{pid}.rcproj'))
|
||||
print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} pid: {pid} 定义定位点距离完成')
|
||||
#将 controlpoints_0.dat 文件拷贝到 oss 上作为公共的使用
|
||||
common.uploadControlPointsOss(pid)
|
||||
|
||||
#最后处理掉redis中的值
|
||||
redisLocal.lrem('model:auto_distance', 0, pid+"_1")
|
||||
break
|
||||
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),"循环阻塞结束,开始建模")
|
||||
else:
|
||||
#修改rcproj文件 controlpoints fileName 的引入
|
||||
flag = common.changeRcprojControlpointsFile(pid)
|
||||
if flag == False:
|
||||
print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} pid: {pid} 获取及修改controlpoints失败')
|
||||
return
|
||||
|
||||
print("使用公共point文件的方式进行建模")
|
||||
|
||||
#区域的设置 建模
|
||||
cmd = f'{config.rcbin} {config.r1["init"]} -load "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}" -update \
|
||||
#update
|
||||
cmdSmall = "-align"
|
||||
#使用公共point文件的时候,就不能使用update , 而是要用 align
|
||||
if isExistPoint == True:
|
||||
cmdSmall = "-align"
|
||||
#{config.r1["init"]}
|
||||
cmd = f'{config.rcbin} -load "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}" {cmdSmall} \
|
||||
-set "sfmEnableCameraPrior=True" -align -set "sfmEnableCameraPrior=False" -align -setReconstructionRegion "{os.path.join(config.workdir, pid, f"{pid}.rcbox")}" \
|
||||
-mvs -modelSelectMaximalConnectedComponent -modelInvertSelection -modelRemoveSelectedTriangles -closeHoles -clean -simplify {simplify_value} -smooth -unwrap -calculateTexture -renameModel {pid} -save "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}" -quit'
|
||||
print(cmd)
|
||||
@@ -141,7 +171,7 @@ def step2(pid,task_distributed_id=""):
|
||||
print('step2 执行完,开始执行step3')
|
||||
os.system(f'python d:\\make2\\main_step3.py {pid}')
|
||||
main_service_db.update_task_distributed({"id":task_distributed_id,"status":2,"finished_at":time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())})
|
||||
#main_service_db.update_task_distributed_detail({"task_distributed_id":task_distributed_id,"finished_at":time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())})
|
||||
main_service_db.update_task_distributed_detail({"task_distributed_id":task_distributed_id,"finished_at":time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())})
|
||||
#return
|
||||
|
||||
def main(pid):
|
||||
|
||||
Reference in new issue
Block a user