I am recently learning about Computer Vision and I am having a trouble understanding Difference of Gaussian (DoG) algorithm. I get how the algorithm works in high level idea, but I am trying to implement my own and I am confused about some steps.
For instance, I am trying to create 5 blur level for each octave, and I am confused about which filter and sigma value applying to which image. Using Matlab, for the first octave, I created a filter and applied:
sigma = 0.5; gauss = fspecial('gaussian', [5 5], sigma); blur1 = imfilter(img, gauss, 'replicate'); dog1 = img - blur1; %Next level blur2 = imfilter(blur1, gauss, 'replicate'); dog2 = blur1 - blur2;
I am not so sure if this is how I need to apply? Do I apply gaussian filter to previously applied image? I also saw code using
k*sigma. I am not sure what
k means and how to apply? Oh and what value should I used for sigma? Is it in [0, 1] range or can be bigger than that? Could someone help me on this? Thank you very much.
Thank you so much!