Hacker News new | past | comments | ask | show | jobs | submit login

My understanding is that Gaussian blur is technically lossless, all the data is still there in the decimal points. In practice, pixel values are truncated to 8-bit integers rather than arbitrary precision decimals, but because the blur is lossless to begin with you can sometimes deblur and retrieve enough information for whatever you were trying to do.



Hmm, the question is whether information is actually lost. In the answer linked below there is an example with a two pixel image that at least in that case information is actually lost, which means that the algorithm is not reversible.

https://softwareengineering.stackexchange.com/a/86810


In that example he's not blurring in the usual sense, he's replacing the whole image by a single average value.

Blurring is mathematically a convolutions product of an image that can be represented as a function f and a kernel g. The key fact is that the Fourier transform of f.g is the product of the Fourier transforms of f and g. So if you know g, or can guess what it is, you can solve for f knowing f.g and g, since everything is linear. (Some blurs might not be linear transforms but the usual gaussian blur is)

Information can be lost in two ways : 1/ quantization of the data due to storage in a limited number of bits, 2/ truncation of the blur at the image edges. So blurs cannot be fully reversed, but some information can be recovered. That might be enough to identify the information that was concealed in the first place. See the Wikipedia article on deconvolution for examples.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: