繁体   English   中英

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

[英]Resizing a matrix into different resolution in Matlab

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

在此处输入图片说明

Matlab中对此有任何内置功能吗? 如果没有,什么是实现此结果的好方法?

如果我的问题还不够清楚,请告诉我。 谢谢您的帮助=)

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)))

函数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

甚至有可能拉伸/缩小尺寸

>> kron( [1 2; 3 4], ones(1,2))
ans =
     1     1     2     2
     3     3     4     4

如果您有图像处理工具箱

imresize函数可用于执行此操作

Old=[1,2;3,4]; 
factor=2; % scale factor

New=imresize(Old,factor,'nearest')

New =

     1     1     2     2
     1     1     2     2
     3     3     4     4
     3     3     4     4

暂无
暂无

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

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