4 ms·
Another related piece of advice is that you should not use blur to hide sensitive information because blur is actually a mathematically reversible operation ! I
by ajnin 5y ago
Another related piece of advice is that you should not use blur to hide sensitive information because blur is actually a mathematically reversible operation ! It's quite surprising at first but the information is still there, it has just been spread out. If you know the shape of the kernel and have enough resolution then you can unblur the image. You can even apply this process (called deconvolution) to physical blurs like imperfections in telescope optics. In practice however bit resolution is often too low to have good results.
You should also be careful with video, since it contains many frames it might be possible to reverse rougher pixelations or blurs than would be possible with a still image. There exist various superresolution algorithm that can extract high-resolution images from multiple low-resolution video frames.
- jansan 5y agoI honestly doubt that deconvolution can fully restore an image after blurring. Do you have any links that supports your claim?
- Dan_- 5y agoSearch for 'swirl face'
- jansan 5y agoA blur filter is very different from a distortion algorithm (like the swirl filter). For a distortion algorithm you just have to put the pixels back into their original position.
- makeworld 5y agoMy 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.
- jansan 5y agoHmm, 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 https://softwareengineering.stackexchange.com/a/86810
- ajnin 5y agoIn 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.