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

То, что я пытаюсь сделать, это пороговое значение изображения с матричными операциями, но вместо того, чтобы устанавливать пороговый результат равным фиксированному значению, например 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.

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


person Yuerno    schedule 26.06.2018    source источник
comment
Вы сами ответили на него в вопросе: secondImage(firstImage<100)=thirdImage(firstImage<100)*10;   -  person Sardar Usama    schedule 26.06.2018
comment
@SardarUsama Спасибо! Если вы хотите написать это как полный комментарий, я могу пометить его как ответ.   -  person Yuerno    schedule 26.06.2018


Ответы (1)


Вы как бы сами поняли это в вопросе:

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

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

person Sardar Usama    schedule 26.06.2018