Path: news.mathworks.com!not-for-mail
From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: Embedded Image Resizing using FFT
Date: Thu, 20 Nov 2008 21:56:03 +0000 (UTC)
Organization: Xoran Technologies
Lines: 20
Message-ID: <gg4mdj$sjg$1@fred.mathworks.com>
References: <gg4co5$2cu$1@fred.mathworks.com> <gg4jc2$bck$1@fred.mathworks.com> <gg4kn6$2va$1@fred.mathworks.com>
Reply-To: <HIDDEN>
NNTP-Posting-Host: webapp-05-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1227218163 29296 172.30.248.35 (20 Nov 2008 21:56:03 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Thu, 20 Nov 2008 21:56:03 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1440443
Xref: news.mathworks.com comp.soft-sys.matlab:502162



> > Presumably the method exploits the property that  f(a*t) Fourier transforms into
> > F(w/a)/|a|.
> > 
> > However, I can't see why this would be better than resizing in the non-Fourier domain. You end up doing this same operation, pretty much, in either domain.
> > 
> 
> Performance for one, instead of using bicubic or bilineair transforms on the image you should be able to resize the image using i.e. a lowpass filter to make the image smaller and add zero-padding to make the image larger (or so I've read). 

I don't really follow that. Lowpass filtering an image will make it smoother, not smaller.

Zero-padding in frequency space will cause the image to be upsampled by sinc-interpolation. You could then use these upsamplings to resize your image.
 
However, it would give you many more interpolated samples than you need and than you would use if you just re-interpolated the image directly in image space using say, interp2(). I can't see how that ends up being more efficient.


> What technique would you suggest to resize an image in the Embedded Matlab Subset? 

I don't see why you wouldn't just write your own fast interp2.c function and use that...