Вы можете умножить изображение по маске:
IMG(:, :, 2) = IMG(:, :, 2) .* (IMG(:, :, 1) <= (1/2)) ;
Или использовать составное присваивание:
IMG(:, :, 2) .*= IMG(:, :, 1) <= (1/2);
Другой быстрый вариант - изменение формы массива:
sz =size(IMG) ;
IMG = reshape(IMG, [], 3);
IMG(IMG(:,1)>1/2, 1), 2) = 0;
IMG = reshape(IMG, sz) ;
Другой, возможно, менее эффективный вариант использует ifelse :
IMG(:, :, 2) = ifelse(IMG(:, :, 1) > 1/2, 0, IMG(:, :, 2) ) ;