Один из способов сделать это немного точнее - определить функцию, которая возвращает индексы строк и столбцов для определенного блока.
function [rows, cols] = get_block_indices(block_row, block_col, block_size)
rows = (1:block_size) + block_size*(block_row-1);
cols = (1:block_size) + block_size*(block_col-1);
Затем вы можете, например, получить доступ к блоку W1, который находится в строке 1, столбце 2 сетки блока, следующим образом
[rows, cols] = get_block_indices(1, 2, block_size);
I(rows, cols) = your_effect_function(I(rows, cols));
при условии block_size = size(I,1)/4
.