[运算] 阵列中取多个特定值不用循环

楼主: fxxkjoe1231 (糟糕)   2019-06-26 15:23:38
大家好,小弟目前有两个阵列a与b如下:
A=[1 1 2 3 4 5 6 7 7 9];
B=[2 5 7];
我想找出A中,与B中个别数字相同之元素,并输出一逻辑阵列如下
[0 0 1 0 0 1 0 1 1 0]
该如何不使用for循环进行计算?
因为在实务上,A为一张最大可能达8kx8k的标签(labeled)影像,而B为欲留下区域的标签编号,可能也有数千个,目前卡在运送效率这里。
谢谢大家
作者: sin55688 (单手挑藏獒)   2019-06-26 15:34:00
sum(A==B'); 不确定有没有其他内建指令可以用
楼主: fxxkjoe1231 (糟糕)   2019-06-26 15:39:00
感谢楼上大大!
作者: sunev (Veritas)   2019-06-26 19:25:00
应该是any
作者: sppmg (sppmg)   2019-06-27 00:28:00
ismember()ismember 可能比较好,或许会做 unique 以及最佳化搜寻。用gpuarray 不知是否能加速,你试试。
作者: sunev (Veritas)   2019-06-27 13:13:00
ismember的确快得多一开始的labeled image是从bwlabel来的吗?改用bwconncomp,其结果会比较方便处理

Links booklink

Contact Us: admin [ a t ] ucptt.com