Hacker News new | ask | show | jobs
by rarefied_tomato 1941 days ago
The half pixel offset is also a Gaussian convolution (the simplest) with filter [1/2, 1/2]. It's centered at the corners between pixels, so it's not obvious to describe it as such.

You can calculate Gaussian filters by scaling a particular row k of Pascal's triangle to sum to 1. Or rather, a square pyramid for the 2D case.

You can calculate any particular Gaussian (i.e. binomial) convolution by iterating this "half pixel offset" operation (averaging the adjacent pixels) k times.

1 comments

In image processing we often call those "binomial filters" due to this binomial distribution / Pascal triangle connection. Cool thing is that they both a) sum up to powers of 2, making the normalization divisions in fixed point super efficient - just bit shift! b) due to central limit theorem, they approximate Gaussian better and better. Very useful tool in image processing, especially on DSPs where fixed point / shorter integer arithmetic might be faster or wider vector sizes than floats.