Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 将矩阵的某些值传递给逻辑掩码_Matlab_Indices - Fatal编程技术网

Matlab 将矩阵的某些值传递给逻辑掩码

Matlab 将矩阵的某些值传递给逻辑掩码,matlab,indices,Matlab,Indices,假设我有一个逻辑矩阵MxN: 在这种情况下,M=N=5。 第二个矩阵A的大小为“MxNx3”RGB图像。我想传递一个关于掩码的函数值。例如,不属于遮罩的所有值: foo(A(~mask)); 确定这行代码是无用的,因为蒙版只给我一个RGB颜色的索引 正确的方法是什么? 我能用一条线就走吗? 您可以使用repmat在三维中重复遮罩3次。这将创建nnz~mask*3元素向量。您可以重塑repmat操作的结果,使行是遮罩中的真实元素,列是三维元素 foo(reshape(A(~repmat

假设我有一个逻辑矩阵MxN:

在这种情况下,M=N=5。 第二个矩阵A的大小为“MxNx3”RGB图像。我想传递一个关于掩码的函数值。例如,不属于遮罩的所有值:

   foo(A(~mask));  
确定这行代码是无用的,因为蒙版只给我一个RGB颜色的索引

正确的方法是什么? 我能用一条线就走吗? 您可以使用repmat在三维中重复遮罩3次。这将创建nnz~mask*3元素向量。您可以重塑repmat操作的结果,使行是遮罩中的真实元素,列是三维元素

foo(reshape(A(~repmat(mask, [1 1 3])), [], 3))
你也可以做一些类似的事情

foo(reshape(A(~repmat(mask, [1 1 3])), [], 3))