Вот блок кода, с которого можно начать. Вы можете использовать два цикла for для перехода по строкам (r) и столбцам (c). Должны быть более быстрые способы сделать это, но этого достаточно, чтобы вы начали. Еще один совет: будьте осторожны, когда цикл for подходит к концу строк и / или столбцов.
block_r = img( r:r+kernel_h, c:c+kernel_w, 1 ); % get a region
block_g = img( r:r+kernel_h, c:c+kernel_w, 2 );
block_b = img( r:r+kernel_h, c:c+kernel_w, 3 );
max_r = max( block_r(:) ); % max within each region
max_g = max( block_g(:) );
max_b = max( block_b(:) );
bright_img(r,c) = max( [max_r,max_g,max_b] ); % max across all channels