修剪(在边界处除去零)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)]) = [];