怎么去除图片马赛克 ?这篇文章从数字图像处理的角度给你终极解答
什么是马赛克
马赛克(Mosaic),原来是建筑专业名词,它是指一种装饰艺术,通常使用许多小石块或有色玻璃碎片拼成图案,作为一种装饰用来增加建筑的美观程度。
而时过境迁,时代的发展又赋予了马赛克一层新的含义,那就是作为一种图像、视频处理手段,来将影像特定区域的色阶劣化并造成色块打乱的效果,这种操作通常的目的是使源图像区域的信息难以辨认。由于被处理后的区域模糊图像看上去像一个个小格子组成,所以便形象的称这种画面为马赛克。
![](/wp-content/uploads/images/2023/12/12/8f4d73dfc535414ab30fe62dca7a9034~noop_bn5cqfmpycm.jpg)
图一
图一,传统马赛克装饰。
数字图像马赛克原理
马赛克的处理过程并不复杂。对于一张数字图像来说,它是由若干像素点按一定顺序组合而成的,而对图像进行马赛克处理,就是将选定区域的图像按照一定比例分成若干块小图像,在每一块中取各自中心点的像素的数值来取代小块图像其它像素点的数值。对所有小块图像进行相同的操作,就对图像选定的区域进行了马赛克的处理。
![](/wp-content/uploads/images/2023/12/12/aa5974ac2c794357a60461103a580e43~noop_24vte1w1lb0.jpg)
图二
图二,人物的眼部被打上了马赛克。
尽管有的算法细节可能有所出入,但是图像马赛克操作的原理都是一样的,即它是一个减少信息的操作。一幅原始图像上的每一个像素点都是这副图像上唯一的存在,这个像素点在这幅图像上包含着唯一的信息。而一幅图像所包含的所有信息就是由这些像素点来提供的。当取一部分图像把它马赛克处理时,这部分图像的若干个像素点数值便会被一个值所不保留原数值的取代。
当向人们展示被取代后的像素点时,人们看到的只是取代原像素点的数值的值,而被取代的像素点数值,已经无从获取了。
![](/wp-content/uploads/images/2023/12/12/e86aa5a1f26a4b25a467fcc862e5b043~noop_cof4wxfp42n.png)
图三
图三,一块区域(a)的若干个像素点的数值,(b)中为被取代后的这块区域的像素点数值。
如果从(b)观察,原来像素点的数值已经无从得知了。
一个哲学问题,为什么要去掉马赛克
为什么要去掉马赛克?原因很明显!就是因为图像中的马赛克消除了一些画面信息,而这些画面包含的信息读者想知道,但无从得知。
1. 如果说,一幅图像虽然被经过了马赛克的处理,但是马赛克所消除的画面是我们不关心的内容,那我们也没有恢复图片的必要。
![](/wp-content/uploads/images/2023/12/12/d21fc672c6604693bf34848fcad2abe3~noop_n50xglqtvo2.png)
图四
图四,认出图像中的数字。(a)为原图,(b)的左上角打了马赛克,虽然(b)的左上角被马赛克处理了,但是并不妨碍我们读取关键信息,即(a)中可以读取到数字6,(b)图也可以。
2. 马赛克处理有轻重之分,对于一幅高分辨率的图片来说,轻微的马赛克有时候并不会起到消除某一部分信息的作用。此时,我们也没有必设法恢复图片。
![](/wp-content/uploads/images/2023/12/12/d07ed9844d3745ec852307beab6399e3~noop_kk3bkaq0pff.png)
图五
图五,认出图中的数字。(a)为原图,(b)经过轻微的马赛克处理,我们依然可以观察出(b)中数字。
3. 规则的图片、包含人们熟知的信息的图片,它的一部分被打了马赛克,但是可以根据其它的部分推测出模糊部分的图像,所以我们也没有必要去试图恢复图片。
![](/wp-content/uploads/images/2023/12/12/f9baf7c9d8fd4c918027c60e664d05f9~noop_244v0mcerba.png)
图六
图六,认出图中的数字。(a)为原图,(b)中间部分的一些区域被马赛克处理,不过我们依然可以推测出(b)中数字。
上述三种情况都是没有必要去除马赛克的场景,或者说马赛克并没有影响到我我们摄取关键信息。那么,若是一幅马赛克图像使我们设法去恢复它,其中必然包含了我们想知道但不知道的信息,同时也无法推测出来结果的情况。比如,你想知道下面女子的长相是时,你可能就会产生去掉马赛克的想法。
![](/wp-content/uploads/images/2023/12/12/58af462fb86a4bc5bfb586f5bc21a2ef~noop_2n1zfehgzkv.png)
图六
有的时候,一些图片即使被打了马赛克,也可以辨认、推测出想要获取的原图像信息。此时,也就不会有人想要去试图恢复被马赛克处理过的图片了。
图象被马赛克处理后可以复原吗?
“马赛克”处理相当于对图像信号的进行比原始数据更低频率的采样。如果这个采样频率比原始数据的频率的二倍还要低,那么必然产生不可逆的数据损失。也就是说,两倍以上的“马赛克”处理都会产生不可逆的数据损失。即说明马赛克是去不掉的。
这里要特别区别一下,很多人会以为马赛克就是“贴”在一幅画上的,马赛克的作用只是遮挡了原画面,其实从上面的文章中就可以看出,马赛克区域并不是遮挡,而是“改变“,你看到的画面信息就是整幅画所包含的信息,背后并没有什么隐藏。
现在去掉马赛克的方法,它们的实质是什么?
马赛克是不可逆损失信息。但某些情况下,被马赛克处理后的图像似乎可以被“复原“,这是什么原因?
现在对马赛克的还原主要有以下两种方式。
1. 可以被推测出的图像画面
一幅图像中某一部分被马赛克处理过了,而在这副图像中更广的范围里,都有同质化的信息包围着马赛克,那么依据周围图像中清晰的部分,可以填补图像中马赛克不部分,或者依靠周围清晰的图像,在被马赛克处理的地方构造新的清晰的图像,以达到“复原”马赛克处理的效果。
例如:在一块木地板上打块马赛克,这个时候想要复原它就可以借助木地板的其他部分的清晰图像来将模糊部分的图像重新填补。
![](/wp-content/uploads/images/2023/12/12/59c6347830174058a9be105961d9a90a~noop_2pwngp2ohoh.png)
图七
图七,(a)为原图,(b)的中间部分被打了马赛克,(c)恢复后的图像。然而(a)与(c)比较来说,可以明显的观察到它们是不同的,然而(c)图却看不到被马赛克处理的痕迹。
2. 在巨大的图像库中依靠机器学习,来猜测出缺失信息
机器学习系统依靠海量的类型图片进行训练,让系统“学习”到相应信息。而后系统再根据之前的训练,猜测出缺失的细节信息,来对马赛克图像的的模糊部分进行填充。
例如:谷歌大脑发布的一款名为超强像素递归的AI系统。它能够提高马赛克后图像画面的分辨率。
![](/wp-content/uploads/images/2023/12/12/1412b6fb57944440992a883781f203c0~noop_qsxvyo0rsli.jpg)
图八
图 八,左边为马赛克后的图片,中间为AI系统推测的图片,右边是原图。
可见,所谓的复原并不是真正的复原,只是一种填补、推测、计算而已。