【问题标题】:resize image without imresize (MATLAB) [closed]在没有 imresize 的情况下调整图像大小(MATLAB)[关闭]
【发布时间】:2014-10-29 17:55:32
【问题描述】:

如何在 matlab 中不使用 imresize 调整图像大小

【问题讨论】:

  • 找人做作业不会教你matlab...如果你花20-30分钟阅读有关矩阵运算、符号等的基本文档,你会惊讶于这一切是多么容易...
  • 查看 Richard Alan Peters II 关于图像重采样的图像处理幻灯片:ia600307.us.archive.org/7/items/Lectures_on_Image_Processing/… - 请特别注意幻灯片 #34。
  • 既然@lakesh 已经给了你最近邻插值的代码,你为什么不试试双线性插值,试着给你的老师(和你自己!)留下深刻印象?
  • 这是我在 MATLAB 中实现双线性插值:stackoverflow.com/questions/26142288/…

标签: matlab pixels


【解决方案1】:

此代码使用最近邻插值完成。

%# Initializations:

scale = [2 2];              %# The resolution scale factors: [rows columns]
oldSize = size(inputImage);                   %# Get the size of your image
newSize = max(floor(scale.*oldSize(1:2)),1);  %# Compute the new image size

%# Compute an upsampled set of indices:

rowIndex = min(round(((1:newSize(1))-0.5)./scale(1)+0.5),oldSize(1));
colIndex = min(round(((1:newSize(2))-0.5)./scale(2)+0.5),oldSize(2));

%# Index old image to get new image:

outputImage = inputImage(rowIndex,colIndex,:);

您只需要相应地更改比例因子..

【讨论】:

  • 这是一个很好的代码湖,但我不会发布这个,因为这个问题听起来像家庭作业。我们应该让这些人自己做功课。如果我能清楚地看到他们已经做出了很好的努力并且被卡住了,我只会给出解决方案。这个OP没有尝试任何东西。我仍然会投票 +1,因为这是在 2D 中进行最近邻插值的正确方法……或者至少是正确方法之一。
  • 我实际上发现这个答案很有帮助。 MathWorks 对工具箱非常吝啬,为了缩放图像而购买图像分析工具箱似乎很愚蠢。
猜你喜欢
  • 1970-01-01
  • 2012-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-10
  • 1970-01-01
  • 1970-01-01
  • 2018-11-10
相关资源
最近更新 更多