MATLAB: Counting Neighboring Cells

countneighboring cells

Hi, I've been recently having trouble in creating a functions that would count the number of neighboring 1's in an array. So say for example I had an array that consisted of
1 0 1 1 0 1 1 0
1 1 0 1 0 1 1 0
I would want it to return
2 4 3 2 4 3 3 2
2 3 4 2 4 3 3 2
How would I go about this?
Much appreciated

Best Answer

A=[1 0 1 1 0 1 1 0;
1 1 0 1 0 1 1 0]
B = ones(3);
B(2,2) = 0;
conv2(A,B,'same')