|
|
|
@ -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}秒') |
|
|
|
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())} 开始计算相机位姿...') |
|
|
|
print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} 开始计算相机位姿...') |
|
|
|
start_time = time.time() |
|
|
|
start_time = time.time() |
|
|
|
libs.down_from_oss(config.oss_bucket, config.workdir, pid) |
|
|
|
libs.down_from_oss(config.oss_bucket, config.workdir, pid) |
|
|
|
@ -49,12 +49,17 @@ def main(pid): |
|
|
|
else: |
|
|
|
else: |
|
|
|
sys.exit(0) |
|
|
|
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} \ |
|
|
|
cmd = f'{config.rcbin} {config.r2["init"]} -setInstanceName {pid} \ |
|
|
|
-save "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}" \ |
|
|
|
-save "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}" \ |
|
|
|
-addFolder "{os.path.join(config.workdir, pid, "photo1")}" -selectAllImages \ |
|
|
|
-addFolder "{os.path.join(config.workdir, pid, "photo1")}" -selectAllImages \ |
|
|
|
-detectMarkers "D:\\make2\\config\\detectMarkers.config.xml" \ |
|
|
|
-detectMarkers "D:\\make2\\config\\detectMarkers.config.xml" \ |
|
|
|
-align -align \ |
|
|
|
-align -align \ |
|
|
|
-exportXMP "D:\\make2\\config\\exportXMP.config.xml" \ |
|
|
|
{exportxmp} \ |
|
|
|
-save "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}" -quit' |
|
|
|
-save "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}" -quit' |
|
|
|
print(cmd) |
|
|
|
print(cmd) |
|
|
|
cmd = shlex.split(cmd) |
|
|
|
cmd = shlex.split(cmd) |
|
|
|
@ -74,7 +79,7 @@ def main(pid): |
|
|
|
-addFolder "{os.path.join(config.workdir, pid, "photo2")}" -selectAllImages \ |
|
|
|
-addFolder "{os.path.join(config.workdir, pid, "photo2")}" -selectAllImages \ |
|
|
|
-detectMarkers "D:\\make2\\config\\detectMarkers.config.xml" \ |
|
|
|
-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"]} \ |
|
|
|
{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")}" \ |
|
|
|
-exportReconstructionRegion "{os.path.join(config.workdir, pid, f"{pid}.rcbox")}" \ |
|
|
|
-save "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}" -quit' |
|
|
|
-save "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}" -quit' |
|
|
|
print(cmd) |
|
|
|
print(cmd) |
|
|
|
@ -83,6 +88,7 @@ def main(pid): |
|
|
|
print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} {pid} photo2相机位姿完成,共费时{libs.diff_time(start_time)}') |
|
|
|
print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} {pid} photo2相机位姿完成,共费时{libs.diff_time(start_time)}') |
|
|
|
|
|
|
|
|
|
|
|
# TODO:加入report相机位姿质量评估 |
|
|
|
# TODO:加入report相机位姿质量评估 |
|
|
|
|
|
|
|
if not lock: |
|
|
|
upload_or_not = input('是否上传oss?(y/n)') |
|
|
|
upload_or_not = input('是否上传oss?(y/n)') |
|
|
|
if upload_or_not == 'y': |
|
|
|
if upload_or_not == 'y': |
|
|
|
upload_xmp(pid) |
|
|
|
upload_xmp(pid) |
|
|
|
@ -100,6 +106,12 @@ if __name__ == '__main__': |
|
|
|
pids = sys.argv[1].split(',') |
|
|
|
pids = sys.argv[1].split(',') |
|
|
|
for pid in pids: |
|
|
|
for pid in pids: |
|
|
|
main(pid) |
|
|
|
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: |
|
|
|
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) |
|
|
|
sys.exit(1) |