Matlab "Scale Down"具有平均值的向量

标签 matlab matrix

很难解释我在寻找什么,我在 Matlab 中有一个用 m x n 矩阵表示的图像,我正试图将它缩小到 4x4,就像缩放图像一样(平均最接近的值)

比如

1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
0 2 3 4 9 9 7 8
0 2 3 4 9 9 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 7
1 2 3 4 5 6 7 7

会变成

1.5 3.5 5.5 7.5
1.0 3.5 9.0 7.5
1.5 3.5 5.5 7.5
1.5 3.5 5.5 7.0

最佳答案

看起来 imresize 给出的结果与您的预期略有不同。对于您的输入数据,以下将起作用:

A = filter2([1 1; 1 1] / 4, X, 'same')
A = A(1:2:end, 1:2:end);

编辑:实际上,执行以下操作可能更快:

i = 1:2:size(A,1)-1;
j = 1:2:size(A,2)-1;

B = 0.25 * (A(i,j) + A(i+1,j) + A(i,j+1) + A(i+1,j+1));

关于Matlab "Scale Down"具有平均值的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7741808/

相关文章:

MATLAB - 绘制奈奎斯特图的一半

matlab - 根据唯一值频率对向量进行排序

string - 从 excel 中将字符串读入 Matlab?

python - 将向量数组与矩阵数组相乘;返回向量数组?

java - 以矩阵格式打印二维数组

c - 我是否错误地使用了 fscanf?

matlab - 在 Matlab 或 Simulink 中将小数转换为整数。 (不四舍五入)

c++ - 余弦/正弦矩阵数学

javascript - javascript中的矩阵乘法

matlab - 我想对矩阵 A 的列进行分组,这些列在 Matlab 中的第三行具有相同的值