Does anyone know of some open source library or online tutorial which
explains interpolation (with 3D images) and also has some java or C++
implementation. It would be great to see some code and see the whole
thing in action. I am not looking for efficient code but something
that is easy to read and can help me visualize the principles behind.
Any suggestions?
Many thanks,
Luca
What kind of interpolation? Linear? Cubic? Bi-cubic? Bezier? Or more
importantly, what are you interpolating? Points? Images? Rotations/
orientations? Do you just have values, or do you have derivatives
(slopes) as well?
A decent start to at least see what's out there is just to look at
wikipedia's interpolation page. Depending on your math background, the
theory behind it might be heavy, but at least you will get an idea of
the terminology.
Yes, linear and cubic would suffice. I would be working mostly with
images.
>
> A decent start to at least see what's out there is just to look at
> wikipedia's interpolation page. Depending on your math background, the
> theory behind it might be heavy, but at least you will get an idea of
> the terminology.
Thanks for the tip.
So, if you are interpolating between pixels of an image (or any kind
of scalar value over a regular grid), then bilinear or bicubic
interpolation is probably what you want. The differences are explained
qualitatively here:
http://www.ronbigelow.com/articles/interpolation/interpolation.htm
For bilinear, the algorithm is explained here:
http://www.cambridgeincolour.com/tutorials/image-interpolation.htm
For bicubic, I can't find a better (free) source than wikipedia:
http://en.wikipedia.org/wiki/Bicubic_interpolation
As for implementation, OpenCV does resampling and resizing:
http://opencv.willowgarage.com/documentation/image_processing.html
I think Java has some facilities in its standard jars that do
interpolation, or at least resizing, but I've never used them
personally:
http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Supplements/Chapter11/Java2DImaging.html