Reply by Ranjith Parakkal●December 6, 20052005-12-06
Shankar,
Most of the suggested methods like maximising
autocorrelation or minimising sum of absolute
differences, should work.
In addition you may want to read some papers on image
mosaicing. The problem is very similar there, they try
to take care of rotation also(not just translation).
Regards
Ranjith
--- Ranj Nambiar <nambo99@namb...> wrote:
> Im still new to the 2D field, but in 1D i would
have
> done an autocorrelation and found the distance of
> the
> peak which would tell me the delay-which in this
> case
> i could see as the shift.
> If it helps, I have found that many concepts in 1D
> apply the same way in 2D too.
>
> Ranjith
>
> --- shankar84@shan... wrote:
>
> > Say I take an image, apply a (possibly fractional)
> > pixel shift to it and further corrupt it by white
> > gaussian noise. Is there any way (never mind
> > complexity, to begin with) to estimate this shift
> > using the corrupted image?
> >
> > Thanks!
> >
Reply by Juan de Dios Santander Vela●December 2, 20052005-12-02
El 30/11/2005, a las 23:49, shankar84@shan... escribi
> Say I take an image, apply a (possibly fractional)
pixel shift to
> it and further corrupt it by white gaussian noise. Is there any way
> (never mind complexity, to begin with) to estimate this shift using
> the corrupted image?
I'm not sure whether your question is:
"If an image is shifted (possibly with a fractional step), and
contaminated by noise, can I estimate the shifting using the
corrupted image and the original image"
or it is:
"If I received an image that's been shifted (possibly with a
fractional step), and contaminated by noise, can I estimate the
shifting using _just_ the corrupted image"
If the former, you've gotten a fair amount of answers; if the latter,
it's impossible, unless you assume some model for the image you're
receiving...
--
Juan de Dios Santander Vela
Diplomado en CC. Ficas, Ingeniero en Electrica
Doctorando en Tecnologs Multimedia
Becario Predoctoral del Instituto de Astrofica de Andaluc
Alan Kay: La mejor forma de predecir el futuro es inventarlo.
Reply by Shehrzad Qureshi●December 1, 20052005-12-01
Try this -
You'll need some way of taking your template, or original, image and
generating (possibly fractional) shifted versions of it. For each shifted
version of the image, compute the SAD (sum of absolute differences) or better
yet, 2D cross-correlation "cost function value" between the shifted
and corrupted image and the shifted version of the template bitmap. Sample your
"shift space" into rectalinear grid, and for each grid point (which
corresponds to a shift in the x and a shift in the y direction) compute your
cost metric.
Once you have this 2D array of cost function values, use interpolation (NOT
linear interpolation), say a bicubic interpolant, to "upsample" your
discretized cost function matrix. If you're using the SAD, L1, or L2 norm
as your cost function, then the shift is the minimum of your interpolated
function. If your using the 2D cross-correlation, then the maximum of your
interpolated function corresponds to the best shift.
If you're doing this on a PC, there are very efficient ways of generating
the shifted bitmaps. You can use the Intel Integrated Performance Primitives
library to do it completely in SW, or use OpenGL and let your graphics card do
the heavy lifting. I wrote an article in the September 2001 issue of C/C++ Users
Journal describing the implementation of the latter. See my web page for more
details.
HTH,
-SQ
shankar84@shan... wrote:
Say I take an image, apply a (possibly fractional) pixel shift to it and further
corrupt it by white gaussian noise. Is there any way (never mind complexity, to
begin with) to estimate this shift using the corrupted image?
Thanks!
Image processing Image processing software Image processing solution Image
processing system Digital image processing Image processing tool
Shehrzad Qureshi
Author of Embedded Image Processing on the TMS320C6000 DSP
www.squreshi.com
Reply by Ranj Nambiar●December 1, 20052005-12-01
Im still new to the 2D field, but in 1D i would have
done an autocorrelation and found the distance of the
peak which would tell me the delay-which in this case
i could see as the shift.
If it helps, I have found that many concepts in 1D
apply the same way in 2D too.
Ranjith
--- shankar84@shan... wrote:
> Say I take an image, apply a (possibly
fractional)
> pixel shift to it and further corrupt it by white
> gaussian noise. Is there any way (never mind
> complexity, to begin with) to estimate this shift
> using the corrupted image?
>
> Thanks!
> \
Reply by shan...@gmail.com●November 30, 20052005-11-30
Say I take an image, apply a (possibly fractional) pixel shift to it and
further corrupt it by white gaussian noise. Is there any way (never mind
complexity, to begin with) to estimate this shift using the corrupted image?