PhotoSynth Toolkit updated

November 9th, 2010 by Henri Leave a reply »


I have updated my PhotoSynth toolkit for easier usage (the same way as SFMToolkit). This is an example of dense mesh creation from 12 pictures using this toolkit:

The 12 pictures were shot with a Canon PowerShot A700:

Thanks to this toolkit, PMVS2 and MeshLab you can create a dense mesh from these 12 pictures:

triangulated mesh with vertex color -> triangulated mesh with vertex color and SSAO -> triangulated mesh shaded with SSAO -> triangulated mesh wireframe -> photosynth sparse point cloud
(sparse point cloud : 8600 vertices, dense point cloud: 417k vertices, mesh: 917k triangles)


You can also take a loot at the PhotoSynth reconstruction of the sculpture.

PhotoSynthToolkit is composed of several programs:

  • PhotoSynthDownloader: download PhotoSynth point cloud and cameras parameters
  • PhotoSynth2PMVS: enable to run PMVS2 with a downloaded PhotoSynth point cloud
  • PMVS2 : created by Yasutaka Furukawa
  • PhotoSynthViewer: Ogre3D PhotoSynth viewer [not working yet]


The source code is available under MIT license on my github. I have also released a win32 binary version with windows scripting (WSH) for easier usage:


If you need some help or just want to discuss about photogrammetry, please join the photogrammetry forum created by Olafur Haraldsson. You may also be interested by Josh Harle’s video tutorials, they are partially out-dated due to the new PhotoSynthToolkit version but these videos are very good to learn how to use MeshLab.

Please go to the PhotoSynthToolkit page to get the latest version



  1. ALoopingIcon says:

    Great job!

    We are going to offer a better support this kind of data in the next version of MeshLab, so this toolkit is really welcome!


  2. Alex Lim says:

    I tried to compile your code, but in BundlerFocalExtractor.cpp, cannot find below header.

    #include ‘boost/filesystem/operations.hpp’

    Recent ogre3d sdk has this kind of directory structure.


    What is the version of OgreSDK used to compile?

  3. Denis says:

    Can you show me some example on google earth, build with pmvs ?

  4. Denis says:

    How automatically project image texture and minimize triangles in order to put model on google earth ?

  5. Dave says:

    Hey Henri,

    I’ve tried working with the updated toolkit this weekend but so far have not had any luck. Is the download a stand alone or should I be adding it to a previous toolkit? I was able to successfully work with your toolkit2 a little while back but haven’t been able to work on any of this stuff in a while so don’t know if I’ve missed anything in between.
    Is there a quick Readme anywhere or any tutorial anyone has put together? Any advice would be useful since it seems like I’m only getting
    “PhotoSynth composed of 20 pictures and 1 CoordSystems:
    [0]: 20 cameras, 22653 points”

    When I run the 1-download synth first step and nothing seems to work after that.

    Thanks for any help you can give. I’ll post on the forums as well.


  6. DeckG says:

    Having a lot of fun with the toolkit. Question about the downloaded pointclouds from Photosynth. They are sometimes quite noisy, is there any way that we could clean up the coord_system point cloud in meshlab then re-create the points_0_0 etc files with the cleaned result? Would this speed up the processing with the toolkit?
    Just created a 9mb point cloud in photosynth, can’t wait to see the results from the toolkit!

  7. Dave says:

    Hey Henri,

    I was able to get it to run with some help from the forum. I was able to get one 20 photo set to work and was really impressed by the level of detail of the resulting point cloud and mesh. I’ll be sure to post again after I’ve had time to play around and see what works best.

    Thanks for putting this together!

  8. Denis says:

    I try and clear all points except center sculpture.
    But original point cloud from photosynth was far better than reconstructed with toolkit (default settings). In toolkit there is not realistic head of man.
    What’s wrong ? Can you explain how to apply texture (not color from point) to generated meshlab model ?

  9. admin says:

    @ALoopingIcon: Thanks ! Having this kind of stuff package in MeshLab would be awesome !

    @Alex Lim: I’m not using Ogre3D SDK, I have compiled it from source. But I think that you’ve figured out by yourself. I’m also using CMake version of boost 1.41 (to be able to compile it for windows x64).

    @Dave: You’re welcome ! Glad to see that you find some help in the forum. I’m kinda busy right now…

    @DeckG: There is no point cleaning the point cloud downloaded from PhotoSynth because it is not used by PMVS for the dense reconstruction. Only cameras parameters are used (position, orientation and distort parameters).

    @Denis: What toolkit are you referring to ? PhotoSynthToolkit or SFMToolkit ? Using level 0 instead of 1 for the PhotoSynthToolkit will produce a denser point cloud. If you want some help for model generation you can take a look at Josh Harle videos:

  10. Michael Denis says:

    Hi, I am lost in the process and need help.

    I was able to:

    1. Download the zip
    2. Extract the zip
    3. Run “1 – Download Synth”
    4. Select an Output
    5. Checked that the Output Worked
    6. ??????

    Which files need to go where? The pictures I originally used to make my synth?

    And what do I need to “Prepare for PMVS2″ ?

    I recognize that this message reads like a lot of crazy questions. Thank you for your help in advance. I am very impressed with the work that you have shown on this page, but could use a more simple set of instructions for duplicating your efforts.


  11. Dan says:

    When I try the first step “dpwnload synth” it is supposed to give me a box to enter the photosynth URL I beleive but instead it opens a PC window asking where the file is located? Any ideas?

  12. Henri says:

    @Dan: yep you need first to provide the destination folder and then gives the GUID. In fact if my downloader found that you provide a folder with an existing synth downloaded (or a local photosynth not yet uploaded) it won’t ask you for a guid.

Leave a Reply