سلام
به این صورت تصویر به دست میاد
در نسخه های جدیدتر متلب به جای blkproc از تابع blockproc می شه استفاده کرد

clc
clear
close all
img = imread('1.png');

figure;
subplot(221)
imshow(img)
g = mean2(img);
img_gt_g = img > g;
k=16;
S = blkproc (img_gt_g,[k k], @(x) sum(x(:)));
S(S==0) = k *g;

subplot(2,2,2)
imshow(S,[],'InitialMagnification','fit')