修剪(在边界处除去零)RGB矩阵中MatLab的
问题描述:
我有一个RGB矩阵是这样的:修剪(在边界处除去零)RGB矩阵中MatLab的
0 0 0 0 0 0 0 0
0 0 23 0 0 0 0 0
0 1 255 0 0 130 22 0
0 49 0 0 0 0 120 0
0 0 0 0 79 0 213 0
0 0 0 0 0 0 0 0
需要修剪(在边界处除去零)该矩阵是这样的:
0 23 0 0 0 0
1 255 0 0 130 22
49 0 0 0 0 120
0 0 0 79 0 213
答
您可以使用sum
查找全部为零的行和列。然后,删除它们。
s1 = find(sum(mat,2)>0);
s2 = find(sum(mat,1)>0);
mat([1:(s1(1)-1) s1(end)+1:size(mat,1)], :) = [];
mat(:, [1:(s2(1)-1) s2(end)+1:size(mat,2)]) = [];