我有一个2维矩阵[n,m]
包含分割区域的索引。我需要重塑或调整matlab中的矩阵为任何大小[n',m']
而不会丢失原始值。换句话说,我需要扩展分割区域。我尝试使用reshpae,但它不起作用,因为高度和宽度的比例尺必须相似。 imresize不起作用,因为它改变了原有的价值观。在MATLAB中调整矩阵大小并保持相同的值
0
A
回答
0
下面是我想到的一些东西。连接矩阵是一种扩展矩阵大小而不影响现有数据的方法:
s = zeros(3,3);
for x = 1:3 % just adds numbers so it can be studied
s(:,x) = x;
end
t = [s, zeros(3,3)]; % adds a 3 by 3 matrix to the right
u = [s; zeros(3,3)]; % adds a 3 by 3 matrix below
v = [t; zeros(3,6)]; % adds a 3 by 6 matrix below t matrix
让我知道是否需要另一种解决方案。这很简单,但我不明白你想要什么。
+0
我想你建议连接额外的矩阵,以达到desried大小。实际上,我希望重塑矩阵并保持相同的值不是相同的索引。 – DYEZ
0
我试图解决它,而无需使用循环如下:
function m1=reshapez(m,sz)
sa = sz(1)/size(m,1); % height scale between original matrix and desired one
sb = sz(2)/size(m,2); % width scale between original matrix and desired one
a2 = ceil([1:sz(1)]./sa); % corresponding indices (x) of the desired matrix in the original one
b2 = ceil([1:sz(2)]./sb); % corresponding indices (y) of the desired matrix in the original one
m1 = m(a2,b2); % desired matrix
+0
通过'nearest'方法使用'imresize'更容易。这将执行最近邻居插值,这正是您在上面做的。 – rayryeng
相关问题
- 1. Matlab:调整矩阵大小
- 2. 调整大小的矩阵
- 3. 摇摆:调整图像大小,但保持相同的大小
- 4. 在较大的矩阵中删除相同的子矩阵。 Matlab
- 5. 矩阵中不同大小的行 - matlab
- 6. 在matlab中使用两个相同大小的矩阵冲浪
- 7. 调整Java中的矩阵的大小
- 8. 在OpenCV中创建矩阵后调整矩阵的大小
- 9. 在调整大小屏幕时保持两个按钮的大小相同
- 10. 调整窗口大小并将div保持在同一位置
- 11. 如何在调整窗口大小时保持对象大小相同
- 12. 调整矩形阵列的大小
- 13. MATLAB - 使用矩阵乘法而不是RESIZE命令调整大小矩阵
- 14. 随机排列保持相同值行相邻的矩阵行
- 15. 如何调整MATLAB矩阵
- 16. 调整图像大小,并保持新的大小
- 17. 如何保持拉力赛单选按钮字段保持相同的大小,同时调整窗口大小
- 18. Matlab-合并两个不同大小的矩阵?
- 19. 在调整大小的同时保持div中心位置
- 20. 保存非常大的矩阵在Matlab
- 21. Flash AS3 LoaderMax调整大小问题 - 如何在舞台调整大小时保持相同的缩放模式
- 22. CSS Firefox问题:在调整大小时,保持Flexbox内部不同宽度的并排div的相对大小
- 23. 在Matlab中求和不同大小矩阵元素的方法
- 24. 在调整窗体大小时保持pictureBox的相对位置
- 25. MATLAB保持复杂矩阵的边界
- 26. Matlab大矩阵
- 27. 洗牌列值,但保持相同的矩阵列顺序
- 28. 如何在MATLAB中合并矩阵和不同大小的数组?
- 29. MATLAB中三维矩阵的最大值
- 30. 在矩阵中保存不同的'graycoprops'属性值[MATLAB]
你的意思是像添加额外的行/列到现有的矩阵? – Numbers682
我不明白你想要什么。你是否正在寻找零填充?在保持相同内容的同时扩展图像的边界?请更清楚你的目标。 – rayryeng
你想用什么值填充扩展区域?假设你有10 * 10的数据,并将它们扩展到11 * 11,那么添加的21个数值是多少? – Anthony