GaussianBlur parameter bounds
I want to apply a GaussianBlur to my image before I attempt to detect edges. I have been reading the openCV documentation for GaussianBlur, in particular what values are possible for the parameters to this function. The documentation outlines the parameters that are needed, however, it does not indicate what the upper and lower bounds are for each.
My question to the group is what are the limits on these parameters, in particular, the following:
- sigmaX - lower limit looks to be zero, but not sure about the upper limit
- sigmaY - lower limit looks to be zero, but not sure about the upper limit
- ksize - kernel size - curious what reasonable kernel sizes should be
For border type I am assuming the values can be:
BORDER_CONSTANT, BORDER_REPLICATE, BORDER_REFLECT, BORDER_WRAP, BORDER_REFLECT_101, BORDER_TRANSPARENT, BORDER_REFLECT101, BORDER_DEFAULT, BORDER_ISOLATED
The sigma are the standard deviation in the X and Y direction, and so what is the upper bound for the standard deviation? I'm no statistics master, but from what I know, there is no limit.
@sjhalayka thank you for your response. Do you have a suggestion of what might be a reasonable value to not exceed from your experience? Also, any advice on kernel sizes?
I don't have a lot of experience with Gaussian blur. From what I understand, the sigma are calculated from the kernel size if you leave the sigma parameters as 0.
On the other hand, I would try standard deviations of 1, 2 and 3 just to see what happens. Basically the standard deviation defines the `hilliness' of the filter. A larger standard deviation leads to a more spread out hill.
Have a look at:
https://en.wikipedia.org/wiki/Standar...
The red distribution has a standard deviation of 10 (very hilly), and the blue distribution has a standard deviation of 50 (less hilly). You can also look at it as a measure of blurriness: the lower the standard distribution, the more focused (less blurry) the filter is.