建模相关功能的修改

This commit is contained in:
dongchangxi committed 2024-02-05 16:04:17 +08:00
1 parent e1a7647fcb
commit 04852e95cd
7 files changed
+280 -7

No files matched your search

+28 -3
View File
@@ -6,7 +6,7 @@ if platform.system() == 'Windows':
#sys.path.append('libs')
else:
sys.path.append('/data/deploy/make3d/make2/libs/')
import config, libs, libs_db,common,main_service_db
import config, libs, libs_db,common,main_service_db,computerRecboxCenterByPoint
redisLocal = config.redis_local
def load_model(pid):
cmd = f'{config.rcbin} {config.r1["init"]} -load "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}"'
@@ -116,9 +116,34 @@ def make3d(pid):
calulate_type = '-mvsHigh'
else:
calulate_type = '-mvs'
#翻转相机的线向下
cmd = f'{config.rcbin} -load "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}" {cmdSmall} \
-set "sfmEnableCameraPrior=True" -align -set "sfmEnableCameraPrior=False" -align -save "{os.path.join(config.workdir, pid, f"{pid}_point.rcproj")}" '
cmd = shlex.split(cmd)
res = subprocess.run(cmd)
#执行完成后命令会触发导出点云的定时程序
while True:
print("判断是否导出点云文件循环阻塞开始")
time.sleep(3)
#判断是否有 pid_1 的的值
print(pid+"_3")
if redisLocal.lpos('model:auto_distance',pid+"_3") == None:
continue
shutil.move(os.path.join(config.workdir, pid, f'{pid}_point.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+"_3")
break
#处理点云文件
centerRcboxValue = computerRecboxCenterByPoint.boxCenter(pid)
if centerRcboxValue > 0:
print("修改中心点的坐标",centerRcboxValue)
#修改中心点的值
common.change_rcbox_center(pid,centerRcboxValue)
cmd = f'{config.rcbin} -load "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}" -align \
-set "sfmEnableCameraPrior=True" -align -set "sfmEnableCameraPrior=False" -align -setReconstructionRegion "{os.path.join(config.workdir, pid, f"{pid}.rcbox")}" \
{calulate_type} -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)