Как установить пиксельные значения матрицы для определенных индексов равными пиксельным значениям другой матрицы с такими же индексами?

То, что я пытаюсь сделать, это пороговое изображение с матричными операциями, но вместо того, чтобы устанавливать пороговый результат, равный фиксированному значению, например, 256 или что-то еще, я пытаюсь установить результат, равный вычислению значений пикселей из двух других изображения одинакового размера. Так, например:

firstImage = img1;
secondImage = img2;
thirdImage = img3;
secondImage(firstImage < 100) = thirdImage(at the same indexes as where the thresholding condition holds true) .* 10;

MATLAB обычно пытается умножить все thirdImage .* 10 и сохранить это, но я хочу только те конкретные пиксели, которые соответствуют для выполнения операции и перезаписать соответствующие значения в secondImage,

Как это сделать?

1 ответ

Решение

Вы сами как-то разобрались в этом вопросе:

secondImage(firstImage < 100) = thirdImage(firstImage < 100) * 10;

то есть, как вы индексируете secondImage, индекс thirdimage таким же образом.

Другие вопросы по тегам