4
« on: July 02, 2018, 11:46:27 AM »
Thanks Alexey!
I've actually managed to make it work with the script below (in case it can help out someone else).
***
import os, PhotoScan
dir_projects = 'E:/...//' #Directory folders with pictures
dir_PS_outputs = 'E:/...//' #Directory saved PS outputs
foldernames = os.listdir(dir_projects)
len(foldernames)
for i in range (0,len(foldernames)):
doc=PhotoScan.app.document
chunk = doc.addChunk()
path_photos=dir_projects+foldernames
image_list=os.listdir(path_photos)
photo_list = list()
for photo in image_list:
if photo.rsplit(".",1)[1].lower() in ["jpg", "jpeg", "tif", "tiff"]:
photo_list.append("/".join([path_photos, photo]))
chunk.addPhotos(photo_list)
chunk.matchPhotos(accuracy=PhotoScan.HighestAccuracy,
generic_preselection=False,
reference_preselection=False,
filter_mask=False,
mask_tiepoints=False,
keypoint_limit=40000,
tiepoint_limit=4000)
#accuracy=HighestAccuracy, HighAccuracy, MediumAccuracy, LowAccuracy, LowestAccuracy
chunk.alignCameras(adaptive_fitting=True)
chunk.buildDepthMaps(quality=PhotoScan.UltraQuality,
filter=PhotoScan.ModerateFiltering)
#quality=UltraQuality, HighQuality, MediumQuality, LowQuality, LowestQuality
chunk.buildDenseCloud(point_colors=True)
chunk.buildModel(surface=PhotoScan.Arbitrary,
interpolation=PhotoScan.EnabledInterpolation,
face_count=PhotoScan.HighFaceCount,
vertex_colors=True)
#face_count=LowFaceCount, MediumFaceCount, HighFaceCount
chunk.buildUV(mapping=PhotoScan.GenericMapping,
count=1,
adaptive_resolution=False)
chunk.buildTexture(blending=PhotoScan.MosaicBlending,
size=4096,
fill_holes=True,
ghosting_filter=True)
chunk.exportModel(path=dir_PS_outputs+foldernames+"_PS.ply",
binary=False,
precision=6,
texture_format=PhotoScan.ImageFormatNone,
texture=False,
normals=True,
colors=True,
cameras=False,
markers=False,
udim=False,
alpha=False,
strip_extensions=False,
raster_transform=PhotoScan.RasterTransformNone,
format=PhotoScan.ModelFormatPLY)
chunk.exportModel(path=dir_PS_outputs+foldernames+"_PS.obj",
binary=False,
precision=6,
texture_format=PhotoScan.ImageFormatNone,
texture=False,
normals=True,
colors=True,
cameras=False,
markers=False,
udim=False,
alpha=False,
strip_extensions=False,
raster_transform=PhotoScan.RasterTransformNone,
format=PhotoScan.ModelFormatOBJ)
doc.save(path=dir_PS_outputs+foldernames+"_PS.psx")
doc.clear()