matlab中如何查找矩阵中非零子矩阵的大小及非零子矩阵的中心位置,请举出代码实例证明
时间: 2024-05-06 17:02:00 浏览: 50
recognize.zip.rar_recog_不变矩_不变矩 matlab_中心位置
您可以使用matlab中的'regionprops'函数来查找矩阵中非零子矩阵的大小及非零子矩阵的中心位置。下面是一个代码示例:
```matlab
A = [0,0,0,0,1,1,1;
0,0,0,0,1,1,1;
0,0,0,0,1,1,1;
1,1,1,0,0,0,0;
1,1,1,0,0,0,0;
1,1,1,0,0,0,0];
s = regionprops(A, 'Centroid', 'BoundingBox');
for k = 1:length(s)
BB = s(k).BoundingBox;
BC = s(k).Centroid;
fprintf('Sub-image %d:\n', k);
fprintf('Centroid: (%.2f,%.2f)\n', BC(1),BC(2));
fprintf('BoundingBox: (%.2f,%.2f)\n', BB(3),BB(4));
end
```
这段代码将矩阵A分成两个非零子矩阵,并输出它们的中心位置和边界框大小,其中第一次循环输出的是第一个非零子矩阵,第二次循环输出的是第二个非零子矩阵。
阅读全文