Opencv иногда возвращает маску для фильтрации.
Дает массив A=[[1,2],[3,4],[5,6]]
и маску mask=[1,0,1]
Как применить маску для получения [[1,2],[5,6]]
?
Я пытался A[mask==1]
, но там указано, что размерность не совпадает.
np.where
и np.nonzero
, похоже, тоже не работают.
Редактировать:
Оказывается A[mask==1]
работает,
В реальном случае я сталкивался с тем, что mask.shape
- это (n,1)
, но не (n,)
, что дополнительное 1 вызвало проблему.
np.squeeze
решил проблему