This is super cool but it's unfortunate that it clamps negative result values to black.<p>It's probably worth mentioning that there are a lot of ways to implement convolution with a kernel, and the kernel can be of any size, not just 3×3. The explanation here shows how to implement the output-side algorithm nonrecursively; <a href="http://www.dspguide.com/ch6/3.htm" rel="nofollow">http://www.dspguide.com/ch6/3.htm</a> gives this for the one-dimensional case. But you can implement it on the input side instead (iterating over the input samples instead of the output samples), there are kernels that have a much more efficient recursive implementation (including zero-phase kernels using time-reversal), you can implement very large kernels if you can afford to do the convolution in the frequency domain, and there's a whole class of kernels that have efficient sparse filter cascade representations, including large Gaussians.<p>(To say nothing of convolutions over other rings.)
I don't see image kernels compared to cellular automata, but that's what they are. We just don't iterate more than once or twice with a kernel, and the long-term evolution (stability, chaos, or more interesting dynamics) is not the concern here.<p>That is to say, there is more to cellular automata than the GOL, and one bit per cell.
The previous discussion has some good comments and links: <a href="https://news.ycombinator.com/item?id=8966785" rel="nofollow">https://news.ycombinator.com/item?id=8966785</a>
Nice site. This would've been very helpful to me in college when I was trying to get an intuitive grasp of Gaussian blurs and so on via the formulas.
Man we need more articles like this.<p>So nice and clear.<p>I've been working with images for 12 years and I was never sure exactly what 'sharpen' actually did ...
This was an interesting article though I am not an image-o-phile. However, what I really like was the base site! I am a part time instructor for business students and I am teaching them about the power of visualization. This is an incredibly illustrative source that explains points well, and I'll be able to use it as a teaching tool! Thanks for the post!