Removing DC offset and ensuring zero-sum for 2D filter
Removing the mean (and not the sum) from a linear filter leads to a filter that removes DC. 

For example: 

N = 10;
h = [0.5 1 0.5];
conv(ones(N,1), h, 'valid')


leads to 2s.

N=10
h = [0.5 1 0.5]; h_high=h-mean(h);
conv(ones(N,1), h_high, 'valid')


leads to zeros.

Alternatively, you can use any high pass filter.