0

我想知道是否有人可以帮我想出我现在正在处理的 3D 图像的代码。

我有一个简单的 3D 矩阵:

A(:,:,1) =

 0 7 4
 0 32 9
 4 3 1

A(:,:,2) =

 6 0 4
 3 4 6
 2 3 11

A(:,:,3) =

12 2 4
10 20 6
14 3 2

我想找到那些大于阈值的值(例如大于 7)。但是我只想要那些外部元素,即不是“中心”元素(矩阵第一层的 32 不应标记为最大值)

(我正在使用更大的矩阵,但我想一旦我能够从上面为小型 3D 矩阵执行此操作,对于更大的矩阵执行此操作并不难)。

十分感谢

4

2 回答 2

1

尝试这个:

A = randn(4,4,4); % data. Arbitrary size
th = 1; % threshold

ind = find(A>th);
[x y z] = ind2sub(size(A), ind);
ext = find((x==1)|(x==size(A,1))|(y==1)|(y==size(A,2))|(z==1)|(z==size(A,3)));

ind_solution = ind(ext); % linear index of desired values
solution = A(ind_solution) % desired values
于 2013-07-26T09:30:16.990 回答
0

我猜你可以从这些矩阵中提取向量......所以这是获取外部向量并循环遍历它们的元素的问题。

我认为此链接将帮助您提取向量。

于 2013-07-26T09:23:31.913 回答