photoscan自动化脚本

本文档介绍了如何使用Python脚本来自动化处理Photoscan的任务,针对多架次影像的批量处理,提供了一种避免手动逐个设置的工作流程。虽然Photoscan的workflow功能允许批量处理,但对于大量数据,通过脚本自动化能显著提高效率。文中提到,虽然在一些平台上找到的脚本并不实用,作者通过研究官方文档,尝试编写了自己的脚本,旨在帮助遇到同样问题的用户。
摘要由CSDN通过智能技术生成

尽管photoscan具备流程化处理功能(在工具栏:workflow–batch process中设置需要的步骤),但当多架次影像需分别处理时,仍需逐个建立工程,逐个进行“batch process”设置,操作依然是繁琐的。好在photoscan支持脚本处理,如果有编写好的脚本,可通过脚本导入窗口(tools–scripts)运行。查阅了各种平台,仅在CSND中找到一个脚本(需要积分下载,实际下载了并没有卵用,也可能自己不会用)。干脆自己查阅官方文档,尝试自己编写,希望可以帮到有需要的朋友。
注意:脚本是针对旧版本的photoscan的开发的,并不适用于metashape。

#!/usr/bin/env python3.7
# encoding: utf-8
"""
  @author: Yxz
  @contact: QQ:846924329
  @file: Automation.py
  @time: 2019/12/20 20:30
  @desc:
  1、改脚本仅适配于photoscan1.2.1;
  2、仅支持单线程;
  3、新的脚本可以支持metashape1.6.3且可多线程处理,有需要的朋友可以私聊博主获取
  """
import os
import PhotoScan

def auto_process():

	global doc
	doc = PhotoScan.app.document

	app = QtGui.QApplication.instance()
	parent = app.activeWindow()
	
	# image_path
	path_photos = PhotoScan.app.getExistingDirectory("Specify input photo folder:")
	path_export = PhotoScan.app.getExistingDirectory("Specify EXPORT folder:")
	
	#Basic parameters
	accuracy = PhotoScan.Accuracy.HighAccuracy  
	preselection = PhotoScan.Preselection.GenericPreselection
	keypoints = 40000 
	tiepoints = 10000
	source = PhotoScan.PointsSource.DensePoints 
	surface = PhotoScan.SurfaceType.Arbitrary 
	quality = PhotoScan.Quality.MediumQuality 
	filtering = PhotoScan.FilterMode.AggressiveFiltering 
	interpolation = PhotoScan.Interpolation.EnabledInterpolation
	face_num = PhotoScan.FaceCount.HighFaceCount 
	mapping = PhotoScan.MappingMode.GenericMapping
	atlas_size = 8192
	blending = PhotoScan.BlendingMode.MosaicBlending 
	color_corr = False


	print("script start")

	#creat chunk
	doc.addChunk()
	chunk = doc.chunks[-1]
	chunk.label = "New Chunk"

	#add images
	image_list = os.listdir(path_photos)
	photo_list = list()
	for photo in image_list:
		if ("jpg" or "jpeg" or "JPG" or "JPEG") in photo.lower():
			photo_list.append(path_photos + "\\" + photo)
	chunk.addPhotos(photo_list)

	#match images
	chunk.matchPhotos(accuracy = accuracy, preselection = preselection, filter_mask = False, keypoint_limit = keypoints, tiepoint_limit = tiepoints)
	chunk.alignCameras()
	chunk.optimizeCameras()

	#point cloud
	PhotoScan.app.gpu_mask = 1  #GPU devices binary mask
	PhotoScan.app.cpu_cores_inactive = 2  #CPU cores inactive
	chunk.buildDenseCloud(quality = quality, filter = filtering)

	#build Mode
	chunk.buildModel(surface = surface, source = source, interpolation = interpolation, face_count = face_num)

	#build texture
	chunk.buildUV(mapping = mapping, count = 1)
	chunk.buildTexture(blending = blending , color_correction = color_corr, size = atlas_size)
	PhotoScan.app.update()

	#export
	chunk.exportModel(path_export + "\\" + "_out" + ".tif")

	print(""script end"")

PhotoScan.app.addMenuItem("Custom menu/Process 1", auto_process)	
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
photoscan-软件说明书able of Contents Overview ......................................................................................................................... iv How it works ............................................................................................................ iv About the manual ...................................................................................................... iv 1. Installation ..................................................................................................................... 1 System requirements ................................................................................................... 1 OpenCL acceleration ................................................................................................... 1 Installation procedure .................................................................................................. 2 Restrictions of the Demo mode ..................................................................................... 2 2. Capturing photos ............................................................................................................ 4 Equipment ................................................................................................................. 4 Camera settings .......................................................................................................... 4 Object / scene requirements .......................................................................................... 4 Image preprocessing ................................................................................................... 4 Capturing scenarios ..................................................................................................... 5 Restrictions ............................................................................................................... 6 3. General workflow ........................................................................................................... 8 Preferences settings ..................................................................................................... 8 Loading photos .......................................................................................................... 8 Aligning photos .......................................................................................................... 9 Building dense point cloud ......................................................................................... 11 Building mesh .......................................................................................................... 12 Building model texture .............................................................................................. 13 Saving intermediate results ......................................................................................... 15 Exporting results ....................................................................................................... 16 4. Advanced use ............................................................................................................... 23 Splitting project ........................................................................................................ 23 Camera calibration .........................................
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

志行千里90

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值