Другие решения - это, вероятно, то, что вам нужно, но, тем не менее, вот излишне сложный способ сделать то же самое:
B = conv2( ones(2), A) .* ~strel('diamond',1).Neighborhood;
Для функции strel
требуется обработка изображенийИнструментарий, поэтому, если у вас его нет, вы можете вместо этого использовать некоторые варианты решения этих вопросов: 1 , 2 .
Протестировано на R2018b.