Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Arie

Pages: 1 ... 7 8 [9]
General / Re: Mesh generation is a problem
« on: May 06, 2015, 12:33:15 PM »
Cloudcompare can handle quite alot of points. Only make sure to deactivate normals in the Properties window on the left. When I load + 100 Million points, I usually minimize the viewport window, uncheck the normals and then maximize again- It's just so that shading is deactivated, which slows down the viewport dramatically.

Cloudcompare hasn't really been developed for meshes, rather for working with pointclouds. So there are no hole filling options (switch to meshlab for that). But then again, the poisson reconstruction provides a watertight mesh and the density output is really useful, since you can use that for segmenting the mesh. Areas, which one wants to keep, even though the density isn't that high, can be segmented again and merged back to the main mesh.
Scalarfields in Cloudcompare are really great!

General / Re: Mesh generation is a problem
« on: May 04, 2015, 04:21:02 PM »
I would recommend to take a look at the wiki from cloudcompare, the poisson plugin is described there. I'd paste a link, but I'm not sure if that would violate forum rules.

Most important for getting it to work is that the points are exported with normals. After that it is straight forward, you can get a deeper explanation of the parameters on Michael Kazhdan website (link is also on CCs wiki).

In the manual it is stated that when using generic preselection "the overlapping pairs of photos are selected by matching photos using lower accuracy setting first."

This saves a significant amount of time when matching large image sets, since not every image is matched with high accuracy to every other image available. This speedup is more noticable with systematic aerial imagery but it also applies to arbitrary models.

Here an example for an arbitrary model:
Cameras: 49
Accuracy: High
Pair preselection: Generic
Matching Time: 4 min. 9 sec.

Cameras: 49
Accuracy: High
Pair preselection: None
Matching Time: 5 min. 32 sec.

I personally always use generic preselection. In one or two rare cases some alignment didn't work out, after deactivating preselection it aligned well.


General / Re: Mesh generation is a problem
« on: May 04, 2015, 03:53:06 PM »
Hi Ingsayyad,
meshing more than 200 Million points with Agisoft will require massive amounts of memory, since afaik the implemenation of Agisofts meshing algorithm meshes all points and then decimates the polygon count.

I would recommend to export the pointcloud and do the meshing in cloudcompare (awesome opensource software). Either use a low octree-depth when using the poisson reconstruction or decimate the pointcloud beforehand. And just reimport the mesh to Agisoft for texturing / referencing etc.


General / Re: Vertices inside edges on mesh generation
« on: April 28, 2015, 11:35:44 AM »
Properly cleaning up highres meshes can be quite time consuming, if not impossible. I would'nt even try to get rid of self overlapping faces, extreme angles and such.

Luckily, there are tools for that. Meshlab for example offers to select self intersecting faces, which one then can delete and fill the holes afterwards. Similiar is possible with non-manifold triangles.

I personally love the "mesh-doctor" offered by Geomagic- but the software is quite expensive... Therefore you might want to check out Meshlabs cleaning tools.

Python and Java API / Re: Batch processing of numerous PSZ files
« on: April 18, 2015, 05:07:12 PM »
any chance to get an updated version of this script for photoscan 1.1.X?
That would be awesome!

Edit: Well, this was way easier than I thought.

Code: [Select]
import PhotoScan, os

path ="Please choose the folder with .psz files:")

print("Script started")
doc =
project_list = os.listdir(path)

for project_name in project_list:
if ".PSZ" in project_name.upper(): + "/" + project_name)
chunk = doc.chunks[0]

chunk.matchPhotos(accuracy=PhotoScan.HighAccuracy, preselection=PhotoScan.GenericPreselection)

chunk.buildModel(surface=PhotoScan.Arbitrary, interpolation=PhotoScan.EnabledInterpolation)

chunk.buildTexture(blending=PhotoScan.MosaicBlending, size=4096)
print("Processed project: " + project_name)


print("Script finished.")

Pages: 1 ... 7 8 [9]