如何找到给定矩阵的子矩阵的所有位置?但是同样不能在图像上?

时间:2013-02-26 09:02:06

标签: matlab

我想存储来自给定矩阵的子矩阵的所有位置......

例如: 给定矩阵: zzz =

17    24     1     8    15
23     5     7    14    16
 4     6    13    20    22
10    12    19    21     3
11    18    25     2     9

让我想找到子矩阵的位置:

kkk =

 5     7    14    16
 6    13    20    22
12    19    21     3
18    25     2     9

我试过了 [i,j] = ind2sub(size(zzz),find(ismember(zzz,kkk)))

我在i和j矩阵中得到了正确的值。

但是,如果这个'zzz'被某些dicom图像取代,并且'kkk'是图像的小部分,在这种情况下,我没有得到理想的i和j值???有人帮帮我???

1 个答案:

答案 0 :(得分:1)

您应该根据矩阵尺寸修改您编写的行。例如,如果DICOM图像是3D矩阵,那么:

  [i,j,k] = ind2sub(size(zzz),find(ismember(zzz,kkk)))

 [i,j] = ind2sub(size(zzz),find(ismember(zzz(:,:,k),kkk)))

可以回答你的问题。

如果它们是4D阵列,您需要采取相应的行动......