Для университетского задания мне нужно взять изображение размером 512x512, а затем применить эффект к отдельным блокам изображения, как показано на рисунке ниже.

Мне удалось добиться этого путем доступа к определенным областям изображения с помощью индексации, например:
w1_region = [DCTImage(1:imageSizeQuarter, imageSizeQuarter+1:imageSizeHalf)];
Это повторяется для w2 и w3. Все эти области имеют размер 128х128 и должны быть записаны обратно в исходное изображение.
Однако теперь мне нужно переписать блоки исходного изображения отредактированными блоками, чтобы у меня было полное изображение с 3 блоками w1
, w2
, w3
, которые были изменены.
Как можно переписать матрицу, которая определяет исходное изображение с измененными блоками? Есть ли способ, которым я могу эффективно сказать «Перезаписать значения, содержащиеся в матрице, начиная с X»?
Я чувствую, что есть какая-то матричная операция, которая позволила бы мне сделать это, но я не совсем уверен, какая.