From fc21c26f397041683066101eb46daeba3ae994a8 Mon Sep 17 00:00:00 2001 From: youwater Date: Sat, 14 Oct 2023 18:12:06 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=89=8B=E5=B7=A5lock?= =?UTF-8?q?=E9=94=81=E5=AE=9A=E7=9B=B8=E6=9C=BA=E5=9D=90=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/exportXMP.config.lock.xml | 8 +++++++ tools/gen_xmps.py | 40 +++++++++++++++++++++----------- 2 files changed, 34 insertions(+), 14 deletions(-) create mode 100644 config/exportXMP.config.lock.xml diff --git a/config/exportXMP.config.lock.xml b/config/exportXMP.config.lock.xml new file mode 100644 index 0000000..c073e91 --- /dev/null +++ b/config/exportXMP.config.lock.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/tools/gen_xmps.py b/tools/gen_xmps.py index a094f2d..9885198 100644 --- a/tools/gen_xmps.py +++ b/tools/gen_xmps.py @@ -30,7 +30,7 @@ def upload_xmp(pid): print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} pid: {pid} xmp文件上传完成,共费时{time.time() - start_time}秒') -def main(pid): +def main(pid, lock=False): print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} 开始计算相机位姿...') start_time = time.time() libs.down_from_oss(config.oss_bucket, config.workdir, pid) @@ -49,12 +49,17 @@ def main(pid): else: sys.exit(0) + if lock: + exportxmp = ' -exportXMP "D:\\make2\\config\\exportXMP.config.lock.xml" ' + else: + exportxmp = ' -exportXMP "D:\\make2\\config\\exportXMP.config.xml" ' + cmd = f'{config.rcbin} {config.r2["init"]} -setInstanceName {pid} \ -save "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}" \ -addFolder "{os.path.join(config.workdir, pid, "photo1")}" -selectAllImages \ -detectMarkers "D:\\make2\\config\\detectMarkers.config.xml" \ -align -align \ - -exportXMP "D:\\make2\\config\\exportXMP.config.xml" \ + {exportxmp} \ -save "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}" -quit' print(cmd) cmd = shlex.split(cmd) @@ -74,7 +79,7 @@ def main(pid): -addFolder "{os.path.join(config.workdir, pid, "photo2")}" -selectAllImages \ -detectMarkers "D:\\make2\\config\\detectMarkers.config.xml" \ {libs.get_defineDistances(config.ps_floor_sticker.get(psid, config.ps_floor_sticker["default"]))} -align -align -update {config.r2["setRegion"]} \ - -exportXMP "D:\\make2\\config\\exportXMP.config.xml" \ + {exportxmp} \ -exportReconstructionRegion "{os.path.join(config.workdir, pid, f"{pid}.rcbox")}" \ -save "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}" -quit' print(cmd) @@ -83,23 +88,30 @@ def main(pid): print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} {pid} photo2相机位姿完成,共费时{libs.diff_time(start_time)}') # TODO:加入report相机位姿质量评估 - upload_or_not = input('是否上传oss?(y/n)') - if upload_or_not == 'y': - upload_xmp(pid) - print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} {pid} xmp文件上传完成,共费时{libs.diff_time(start_time)}') + if not lock: + upload_or_not = input('是否上传oss?(y/n)') + if upload_or_not == 'y': + upload_xmp(pid) + print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} {pid} xmp文件上传完成,共费时{libs.diff_time(start_time)}') - delete_or_not = input('是否删除本地文件?(y/n)') - if delete_or_not == 'y': - shutil.rmtree(os.path.join(config.workdir, pid)) - print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} {pid} 本地文件已删除') - else: - print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} {pid} 本地文件未删除') + delete_or_not = input('是否删除本地文件?(y/n)') + if delete_or_not == 'y': + shutil.rmtree(os.path.join(config.workdir, pid)) + print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} {pid} 本地文件已删除') + else: + print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} {pid} 本地文件未删除') if __name__ == '__main__': if len(sys.argv) == 2: pids = sys.argv[1].split(',') for pid in pids: main(pid) + elif len(sys.argv) == 3: + pids = sys.argv[1].split(',') + for pid in pids: + main(pid) + if sys.argv[2] == 'lock': + main(pid, lock=True) else: - print(f'useage: python {sys.argv[0]} pid1,pid2,pid3') + print(f'useage: python {sys.argv[0]} pid1,pid2,pid3 [lock]') sys.exit(1) \ No newline at end of file