algorithm - Scaling Laplacian of Gaussian Edge Detection -


i using laplacian of gaussian edge detection using combination of described in http://homepages.inf.ed.ac.uk/rbf/hipr2/log.htm , http://wwwmath.tau.ac.il/~turkel/notes/maini.pdf

simply put, i'm using equation :

for(int = -(kernelsize/2); i<=(kernelsize/2); i++)     {          for(int j = -(kernelsize/2); j<=(kernelsize/2); j++)         {              double l_xy = -1/(math.pi * math.pow(sigma,4))*(1 - ((math.pow(i,2) + math.pow(j,2))/(2*math.pow(sigma,2))))*math.exp(-((math.pow(i,2) + math.pow(j,2))/(2*math.pow(sigma,2))));             l_xy*=426.3;         }      } 

and using l_xy variable build log kernel.

the problem is, when image size larger, application of same kernel making filter more sensitive noise. edge sharpness not same.

let me put example here...

suppose we've got image:original image

using value of sigma = 0.9 , kernel size of 5 x 5 matrix on 480 × 264 pixel version of image, following output:

small image

however, if use same values on 1920 × 1080 pixels version of image (same sigma value , kernel size), this:enter image description here

[both images scaled down version of larger image. scaling down done using photo editor, means data contained in images not similar. but, @ least, should near.]

given larger image 4 times smaller one... tried scaling sigma factor of 4 (sigma*=4) , output was... guessed right, black canvas.

could please me realize how implement log edge detector finds same features input signal, if incoming signal scaled or down (scaling factor given).

looking @ images, suppose working in 24-bit rgb. when increase sigma, response of filter weakens accordingly, in larger image larger kernel values close zero, either truncated or close 0 display cannot distinguish.

to make differentials across different scales comparable, should use scale-space differential operator (lindeberg et al.):

scale-space differential

essentially, differential operators applied gaussian kernel function (g_{\sigma}) , result (or alternatively convolution kernel; scalar multiplier anyways) scaled \sigma^{\gamma}. here l input image , log laplacian of gaussian -image.

when order of differential 2, \gammais typically set 2.

then should quite similar magnitude in both images.

sources:

[1] lindeberg: "scale-space theory in computer vision" 1993

[2] frangi et al. "multiscale vessel enhancement filtering" 1998


Comments

Popular posts from this blog

jquery - How can I dynamically add a browser tab? -

node.js - Getting the socket id,user id pair of a logged in user(s) -

keyboard - C++ GetAsyncKeyState alternative -