
Re: About Gaussian filter
tugrul_512bit Jan 12, 2014 4:03 AM (in response to chandrakala)From the "Gaussian" name, it resembles a distribution graph which looks "more" in the middle but lesser on the "neighbours" and keep decreasing until 3nd  5th far neighbours with an exponential rate. The shape of gaussian function can change filterin quality maybe.
If it were to be used as a "mask" then something like: (sum of all multiplied with their multipliers and summed. The sum is divided by total sum of multipliers)
0 0 0 0 2 3 2 0 0 0 0
0 0 0 2 3 5 3 2 0 0 0
0 0 2 3 5 7 5 3 2 0 0
0 2 3 5 7 8 7 5 3 2 0 >just used arbitrary numbers, these should fit a function of Gaussian Distribution Gaussian filter  Wikipedia, the free encyclopedia
0 0 2 3 5 7 5 3 2 0 0
0 0 0 2 3 5 3 2 0 0 0
0 0 0 0 2 3 2 0 0 0 0
0 0 0 0 0 2 0 0 0 0 0
of course the multipliers should be between 0 and 1 with an exponential sense. If r,g,b are separately arrays, then it should be ok but if it is r,g,b,a,x,y,z,r,g,b,a,x,y,z, ,... in a single array, it could be a slower operation due to noncoalesced accesses.
And of course using a different array/image to write the results would be racefree.
For the example of upper scheme, I take sumNeighbours( r(i,j)*multiplier(i,j) ) then divide the result by sumMultipliers(multiplier(i,j)) then repeat that for g,b elements.
Maybe hardware is capable of this thing easily? Derivatives of r,g,b values through a patch can be more appropriate because the multipliers would not be constants anymore and fits more to the picture's singularities/jaggies.
Maybe Im totally wrong and this is handled by some FFT algorithm that takes all image into consideration in professional applications.