У меня есть две маски, которые я хотел бы объединить вместе, переписывая mask1
с mask2
, если mask2
не имеет нуля. Маски не являются бинарными, они представляют собой некоторое значение, которое определяется пользователем в интересующей области и 0 в другом месте.Как объединить две маски в MATLAB?
Например, если:
mask1=[0 5 5;0 5 5];
mask2=[4 4 0;4 4 0];
, то я хотел бы выход [4 4 5;4 4 5]
. И если бы я тогда была еще одна маска,
mask3=[0 6 0;0 6 0];
, то я хотел бы выход [4 6 5;4 6 5]
Там надо быть простой способ сделать это без прохождения и сравнивая каждый элемент в матрицах. Сроки важны, так как матрицы достаточно велики, и мне нужно объединить их много. Любая помощь будет большой.
Это намного быстрее использовать логическую индексацию, чем использовать функцию поиска ... –
True. @gnovice добавил, что я сохранил это в качестве альтернативного решения. – Amro