interpolation done without imresize
12 次查看(过去 30 天)
显示 更早的评论
How to do nearest neighbor interpolation and bilinear interpolation on a gray scale image without using imresize? The code is supposed to mimic the operation of imresize but should not use any functions available on matlab.
2 个评论
Matt J
2013-1-24
should not use any functions available on matlab
I don't see how you're going to do nearest neighbor interpolation without MATLAB's round() function. You might want to clarify the scope of that restriction.
采纳的回答
Image Analyst
2013-1-24
You'll have to scan your output image, figure out where the input pixel lies on your input pixel - it will be located somewhere in a square between 3 original input pixels. Then use the bilinear interpolation formula on Wikipedia to get the output pixel value. You can use a pair of for loops for this - one over rows and one over columns.
6 个评论
Image Analyst
2013-1-24
The formula for weighting the value according to how close it is to the different corners is in Wikipedia.
更多回答(1 个)
Sean de Wolski
2013-1-24
I would use interp2 or griddedInterpolant.
doc interp2
doc griddedInterpolant
2 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!