[運算] 陣列中取多個特定值不用迴圈

作者: 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