image processing - Is the Sobel Filter meant to be normalized? -
the x-derivative sobel looks way:
-1 0 +1 -2 0 +2 -1 0 +1
lets there 2 samples of image (0=black, 1=white):
0 0 1 1 0 0 0 0 1 & 1 0 0 0 0 1 1 0 0
if perform convolution i'll end 4 , -4 respectively.
so natural response normalize result 8 , translate 0.5 - correct? (i wondering can't find wikipedia etc. mentioning normalization)
edit: use sobel filter create 2d structure tensor (with derivatives dx , dy):
b structure tensor = c d = dx^2 b = dx*dy c = dx*dy d = dy^2
ultimately want store result in [0,1], right i'm wondering if have normalize sobel result (by default, not in order store it) or not, i.e.:
a = dx*dx //or = (dx/8.0)*(dx/8.0) //or = (dx/8.0+0.5)*(dx/8.0+0.5)
a mathematically correct normalization sobel filter 1/8, because brings result natural units of 1 gray-level per pixel. in practical programming, isn't right thing do.
Comments
Post a Comment