From: Daniel M. G. <dmg...@uv...> - 2006-08-20 17:41:31
|
Hi David, (I am crossposting to our mailing list, you should subscribe to it where you will find people with experience compiling panotools under Windows, for instance). David> Hello Daniel. David> I write the documentation for a number of free stereo programmes created by David> Masuji SUTO. David> This includes the popular StereoPhoto Maker David> http://stereo.jpn.org/eng/stphmkr/index.html. David> The recently-introduced fully-automatic correction of stereo-image errors David> includes the option to match the colour of the left\right images. David> Masuji is using histogram-matching, but I don't know the exact details. David> I like to help him by researching the English-language literature and want David> to 'play' with PTBlender before contacting him. We do histogram matching in PTmender, but it is not perfect (at least not yet). THe implementation is still very rough, but it has potential. David> I have the PTMender and PanoTools source files but, in a word, how do I David> compile just the PTBlender application ? David> I have Visual C++ 6.0 only. I only work with automake/autoconf/gcc. I can't help you here. Is there anybody with a Visual C project that can send one to David? David> Also, rather than learn all about CVS just for this one task :-) , what do David> I type to access the appropriate additional files and executables (if any) David> ? We use subversion, not CVS any more. You need to check the subversion. HEre is where the code is: https://svn.sourceforge.net/svnroot/panotools/trunk/libpano You will find that the code that does histogram matching is not documented and it needs to be cleaned up (something that will probably not happen in the next weeks). The main issue is that the current variables and function names do not _any_ sense at all (long story...). David> Does your method ensure there are no gaps in the histogram ? I am not sure I understand what you mean by gaps. The current method works as follows, for any set of images: fixedImages = { referenceImage} toCorrect = {all images } - fixedImages while (toCorrect != empty Set) { image = find image with largest intersection to composite of fixedImages; compute histograms of intersection areas for image and composite; // I AM NOT TOTALLY SURE THIS STOP IS DONE THIS WAY // I'll have to look at the source code // I have the feeling that it only uses the 2 images with the // largest intersection, perhaps this is an improvement that // can be easily done. compute function to match histogram of image to the one of the composite; use this function to transform entire image fixedImages+= {image} toCorrect -= {image} } David> What is the purpose of the Photoshop curve files ? It is the function in the created in the stop above. You can then ask photoshop to do the transformation for you. In this way you don't have to alter each image and you can fine tune them. David> Regards, David> David -- Daniel M. German "Never attribute to malice that which can be adequately Robert Heinlein -> explained by stupidity. " http://turingmachine.org/ http://silvernegative.com/ dmg (at) uvic (dot) ca replace (at) with @ and (dot) with . |