Let's start with two gray-scale images that differ only in horizontal alignment for testing. If my intuition is correct, the magnitude portion of the Fourier transform should differ only slightly between the two images.
I downloaded and installed NetPBM, to facilitate command line processing of images. I suspect that it will be easier for me to write new pbm filters than to write GIMP plug-ins.
One infuriating thing about NetPBM is that one of the maintainers has destroyed many of the original man pages in an effort to "simplify" the distribution. I genuinely appreciate this dude taking on the responsibility to maintain the code, but this one horrible documentation decision has caused me to curse out loud many times in the past several years. My feelings are neatly summed up by the observations of another user on the netbsd packaging discussion list:
"...I want the manual as released with the code I'm using, no changes after the fact. Release your manuals, don't blog them. it is *IMPOSSIBLE* for me to get that manual, no matter how many hoops I jump through, because you cannot (as they suggest) 'wget' an old version of the manual, one which still has manual pages instead of links to other non-Netpbm projects featured on the top page, one which has actual documentation for pnmscale rather than a three-page rant about why I should switch to Netpam..."
Hear hear.
In any case, here is a visual overview of the experiment set-up:
Original image
One thing I will need is a method to compare how similar two images are. As a control, I will be comparing the original image to itself.
Translated version of the original image, for testing my hypothesis.
If I am right about the Fourier transform, the magnitudes of the Fourier transform will be almost the same between the original image and the translated one. This will simulate the comparison of stereo pairs that do not perfectly line up.
Gray version of the translated image
To simplify the analysis, I created a gray-scale version of the images, so the issue of the color channels does not complicate the analysis.
The mask I used to "remove" the edges of the images
Recall from my earlier posting that the blurry circle mask is used to reduce edge artifacts in the Fourier transform.
Apply circle mask to untranslated image
Masked version of translated image
Finally, create the two Fourier transforms, one for the untranslated image and one for the translated image:
Fourier transform of original, masked image.
Fourier transform of translated, masked image
Next I need to extract the magnitudes of the Fourier transforms and compute the similarities between the images. I have some ideas of how to do this, but it will require more work. I expect that the PBM tools will come in handy here. More next time...
No comments:
Post a Comment