Thinking about my proposed auto anti ghosting method based on changing
the horizontal shift between the left and right picture of a stereo
pair to minimize contrast differences (as originally proposed by PKK and Andrew
Woods), I
propose a
simple automatic method.
Forget for the optimization method the spectral response functions of
the display and the glasses
mentioned in the article of Woods/Rourke,
because I want to minimize the cross-over effect and thus the absolute
value of this cross-over is not important (furthermore the glasses
could have e.g. an almost flat color transfer function of a constant
[small]
value, like when using shutter glasses).
By forgetting the color transfer
functions, the method becomes less computation intensive but with the
same result.
It could be that in some cases the spectral function is important so
one has to add it, but that does not change my methodology.
So my method would be:
If the picture is grainy, perhaps a small blurring can smooth the
minimization process
If ghosting is possible to happen in multiple places (because of
larger contrast differences at different distances); select the area
that need to have the minimum perceived ghosting (perhaps near the
objects that
are of most interesting).
Start with a horizontal shift between left and right picture of
zero pixels
Calculate the correlation between left and right picture (say by
calculating the difference, but perhaps a better correlation function
can be found); average the Luminance
of the resultant picture (also here a better function
could be used perhaps)
and remember this value.
Do another horizontal shift according to a specific optimization
process (I myself
like the Simplex
method),
repeat step 4 until the minimum value is
found.
This will provide the optimum horizontal shift for minimizing
ghosting in anaglyphs, page flipping, ver./hor. interleaving, etc
viewing methods.
An example of the method
The below original file is used for this exercise.
Now the difference between the two pictures (using PSP, Image -> Arithmetic... -> Difference)
is made after shifting the left picture with the mentioned amount of
pixels and the
average Luminance (of PSP Histogram window) of the resultant
picture is determined. The shown red-cyan anaglyphs are cropped to
reduce the
On Picture Deviation
The ghosting if best visible at the grid of the passage mound of Tara;
there the ghosting is maximum due to the large contrast.
shifting 0 pixels, gives an average Luminance of 27 in the difference
file.
shifting 9 pixels, gives an average Luminance of 25 in the
difference file.
shifting 18 pixels, gives an average Luminance of 23 in the difference
file.
shifting 28 pixels, gives an average Luminance of 25 in the difference
file.
So a shift of 19 pixels gives the lowest average Luminance between the
two pictures (due to time availability on my side, I only made steps of
multiples of around 9 pixels, so did not do a full optimization
process). This is comparable to the value (17 pixels) I got when doing
it by
hand
and looking at the minimum
amount of ghosting in the resulting red-cyan anaglyph.
Perhaps the sensitivity of the average Luminance is too low for a
certain
optimization process, but one can easily make another criteria to get
some more sensitivity (like the average of the 20% most luminant pixels
of
the picture).
Important
Remember that is if there are more then one contrasty area at different
distances, this method in general will not be able to solve all
ghosts!!! So one has to choose which one to optimize (perhaps by means
of selecting an area), a good choice could be that area, which is
closest to the area that has the most importance in the stereo pair.
Window violations
To reduce the stereo window violations due to this shifting; make the
borders of the pictures fuzzy,
as proposed by PKK
(for instance by using SPM from
2.29e: Edit -> Add Fuzzy Border).
I have taken the pixel width of the fuzzy border as the difference
between
the actual presented location of the stereo window and the 'normal'
stereo window at/near the nearest object (with a minimum of 3% of the
pixel width of the picture).
Another great method presented by Hubert Becker of removing window violations
can be seen on
this site. Very nice method!!!
Conclusion
Finding the minimum ghosting due to contrast and the width of the fuzzy
border can be automated. I propose to do it in jps viewers and not in
the jps files, just to keep the jps file as versatile as possible, and
to be able to use these functions also on the many files already
present on the web.
Implementations
Let
me know (remove underscore in presented e-mail address) if someone
has programmed this already, or if he/she is
willing to put some time into programming this. I am not really a
programmer myself, so help is appreciated if your support the idea.
Thanks to feedback received from Etienne Monneret, it looks that AnaBuilder
is doing something comparable (not fully the same, but the results are
close enough to get more experience with). Use the following steps in AnaBuilder
after a normal Actions -> AutoFit
(checking the wanted AutoFit options)
has been done:
uncheck in Actions menu
allAutoFit options and just keep AutoFit option : X pos on
select the part of the picture (Mouse
-> Crop) where there are most important ghosts
ask for standard Actions ->
AutoFit (thus notwith border detection)