繁体   English   中英

使用插值法在Matlab中扩展2D矩阵

Expanding a 2D Matrix in Matlab with Interpolation

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

假设我有一个4像素乘4像素的图像,其值介于0到255之间,我想将其扩展为8×8图像,并在必要时进行插值。 我知道如何用interp1这样插入向量

interp1(linspace(0,1,numel(vector)), vector, linspace(0,1,newSize))

但是我不清楚如何使用interp2对矩阵执行相同的操作。

编辑:如果我要为每个维度使用linspace之后创建网状网格,会是一样的吗?

EDIT2:是的,这可行。 相同,但是带有网格。

1 个回复

对于以规则网格形式构成的数据,可以按照正确说明使用interp2 ,但是由于要处理图像,因此建议您使用imresize函数 ,该函数可以使用适当的插值算法进行微调以重新缩放图像:

% Load an image and display it...
img = imread('peppers.png');
figure(),imshow(img);

% Create a second image that is
% twice the size of the original
% one and display it...
img2 = imresize(img,2);
figure(),imshow(img2);

无论如何,如果您真的想使用上述功能,这是我执行插值的方法:

% Load an image, convert it into double format
% and retrieve its basic properties...
img = imread('rice.png');
img = im2double(img);
[h,w] = size(img);

% Perform the interpolation...
x = linspace(1,w,w*2);
y = linspace(1,h,h*2);
[Xq,Yq] = meshgrid(x,y);
img2 = interp2(img,Xq,Yq,'cubic') ./ 255;

% Display the original image...
figure(),imshow(img);

%Display the rescaled image...
figure(),imshow(img2,[]);
1 使用插值法求2D峰的x和y全角半峰

给定2D numpy数据数组,我编写了在x和y方向上计算FWHM的代码。 但是,我的方法非常简单,并且仅针对这些宽度返回整数值。 如果可能的话,我想实现某种插值,以便获得宽度的精确浮点值。 我已经看到了一些在1D中使用scipy样条插值的示例,但是我不确定如何将其扩展到2D。 我对样条线 ...

2 在MATLAB中使用插值法对多维矩阵对角线索引

我有一个3D矩阵 其中a,b和c是向量A,B和C的长度。存在一个长度为x的向量X,该向量X 共同确定V的第一维和第二维的值。值A(X)和B(X)不必在A或B定义的网格上。因此,对于给定的X,我想选择元素 其中A(X)和B(x)在向量A和B定义的范围内,但不一定是网格点。 我对V ...

2017-09-27 22:44:12 0 42   matlab
3 使用双三次插值法填充矩阵的边界

我有一个尺寸为28x22的矩阵。 第一行,最后两行,第一列和最后两列(用红色和绿色标记)为空。 这些列和行应该由双三次插值填充。 我已经在SO和Internet上阅读了几篇关于三次三次插值的文章,但不幸的是,我听不懂。 此外,我读到三次三次插值需要了解需要插值的像素周围的4x4网格。 ...

5 使用插值法在 4 个点之间的曲线

我有 4 个已知点,我试图通过这些点来运行平滑曲线。 这是我的输出: 插值时缺少一点。 有人可以帮我强迫它通过这一点吗? 除了使用样条插值之外,还有没有更好的方法来做到这一点? 编辑:曲线必须是单个连接的环。 谢谢! ...

6 Matlab插值法,用于计算给定区域内的体积

我在水柱的每个深度处都有一些深度测量值和相应的面积: 我想计算所指示的每个深度之间的水量,然后据此计算整个水量。 首先,我对深度和面积值进行插值以提高计算的准确性: 从这里到哪里去计算每个深度之间的水量? ...

2012-09-17 12:59:21 2 247   matlab
8 Matlab插值法切换因变量

我有一个Nx2矩阵,列为“时间”和“进度”。 进度是不可或缺的,而时间是对应于每个进度单位的实际值。 我想反转依赖性,并使“时间”成为整数,并在每个单位时间步长输出分数“进度”。 如何才能做到这一点? ...

9 使用线性插值法将NA值插值到一个变量中

尝试插入数据帧中的NA值,并尝试使用zoo::na.approx但这只会返回等距的值。 为了演示,给定数据框: 试过这个: 而是想得到这个: 是否有现成的函数可以执行此操作,或者必须使用线性插值公式来编写它: ...

10 使用平面插值法在Paraview 5中渲染直线网格

我想可视化我在Paraview 5.4.0中生成的直线网格* .vtk文件。 该文件包含排列在规则网格中的连续变量的值,我要在不插入节点之间的值的情况下进行渲染。 我已经可以在Paraview 4.3.1中做我想做的事情,在此我可以关闭标量值的插值,然后将“ 光照”>“插值”设置从 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM