在Matlab中将矩阵调整为不同的分辨率

jje*_*omi 1 matlab resize image-processing

我需要在Matlab中将矩阵(无插值)的大小调整为不同的分辨率.下面的图片将突出显示我想要的内容:

在此输入图像描述

在Matlab中有没有内置函数?如果没有,那么实现这一结果的好方法是什么?

如果我的问题不够明确,请告诉我.谢谢你的任何帮助=)

Lui*_*ndo 5

A = [1 2; 3 4]; %// data
m = 3; %// row repetition factor
n = 3; %// column repetition factor
B = A(ceil(1/m:1/m:size(A,1)), ceil(1/n:1/n:size(A,1)))
Run Code Online (Sandbox Code Playgroud)


ben*_*ben 5

这种功能有一种简单快捷的方式 kron()

>> kron( [1 2; 3 4], ones(1))
ans =
     1     2
     3     4
>> kron( [1 2; 3 4], ones(2))
ans =
     1     1     2     2
     1     1     2     2
     3     3     4     4
     3     3     4     4
>> kron( [1 2; 3 4], ones(3))
ans =
     1     1     1     2     2     2
     1     1     1     2     2     2
     1     1     1     2     2     2
     3     3     3     4     4     4
     3     3     3     4     4     4
     3     3     3     4     4     4
Run Code Online (Sandbox Code Playgroud)

甚至可以拉伸/收缩尺寸

>> kron( [1 2; 3 4], ones(1,2))
ans =
     1     1     2     2
     3     3     4     4
Run Code Online (Sandbox Code Playgroud)