马赛克
马赛克是图像处理中把画面局部或整体分割为较大色块、使原有细节无法辨认的一类处理手段,又称像素化。它借用了镶嵌画(Mosaic)以小块拼出图案的视觉形式,在新闻报道、隐私保护、内容审查等场合被用来遮住人脸、证件、车牌等信息。处理后会永久损失原始细节,但损失的程度取决于块的大小与算法,并非绝对无法还原。
定义
马赛克指人为降低影像特定区域的色阶细节、把连续画面改写成由较大色块拼成的效果,从而使画面中的人物、物体或文字难以被辨认的影像处理方法[1]。它借用了镶嵌画这一古老的装饰艺术形式:镶嵌画用小石块或有色玻璃拼出图案,处理后画面中的方块与之相似,因而得名[2]。它在英文中常称 pixelization,在粤语地区又称打格仔,在中文网络语境中常简称为打码[1]。
不同软件与场景中的马赛克并不限于正方形。以图像处理软件 GIMP 的滤镜为例,拼贴形状可选正方形、六边形、八边形和三角形,拼贴大小可在 2 至 1000 像素之间调节,并可分别设置拼贴间距、颜色变化等参数[3]。日常修图软件中常见的马赛克则分为模糊、笔刷涂抹和像素化三类,视觉形态与遮挡强度各不相同[4]。
原理
像素化马赛克的基本做法是把图像划分为若干 $n \times n$ 像素的方格,再用一个代表性颜色覆盖格内全部像素。代表值通常取自格内各像素颜色分量的平均值,也可以取方格左上角、中心点或随机点的颜色[5]。这一过程可看作对大色块像元的下采样,格越大,保留的信息越少。另一种实现思路是统计格内出现次数最多的颜色并以其替换其余像素[6]。
若以 $c(x,y)$ 表示坐标 $(x,y)$ 处像素的红、绿、蓝通道值,方格边长为 $n$,则输出值可写为:
颜色本身以 RGB 三原色表示,每个通道取值在 0 至 255 之间,通道值组合的差异构成了我们看到的色块颜色[7]。据此可把一次马赛克处理理解为先缩小再以最近邻方式放大的过程。
在网页与矢量图环境里还有别的实现路径。CSS 的 image-rendering 属性设为 pixelated 时,放大图像会使用最近邻算法,使画面呈现大块像素;但直接对原图设置该属性只会增加锯齿,需先缩小再放大才能得到马赛克观感[8]。SVG 也可以通过多层滤镜叠加,把原图改造成色块效果[8]。在移动端修图应用中,常见做法是先按格宽高生成一张与原图等大的马赛克底图,再以带 alpha 通道的圆形笔刷把底图混合回原图,从而只遮住手指涂抹过的路径[2]。
发展历程
马赛克一词原本与影像无关,指的是用碎石、贝壳、玻璃等小块材料拼嵌图案的装饰工艺。早期影像审查并无此类工具,20 世纪上半叶的胶片剪辑只能直接剪掉不宜播出的镜头[9]。
20 世纪 70 年代,数字视频特效逐步成熟,影像后期有了更多处理空间。1973 年上映的电影《西部世界》用像素化特效模拟机器人的视角,被认为是这类视觉效果的早期应用[9]。据日本媒体的技术栏目记述,日本电气(NEC)于 1977 年在美国发布的数字视频特殊装置中,把面向动态影像的马赛克处理作为功能之一,这是该类处理较早的实用化产品[10]。
此后,通过有意降低像素数量来削弱画面可辨识度的做法扩散到电视新闻、影视发行与个人修图等领域[9]。随着手机与社交平台普及,马赛克成为截图分享前最常用的遮挡工具之一,围绕其能否被还原的讨论也随之增多[4]。
应用
新闻与纪实影像是马赛克使用最密集的场景。为降低面部辨识度,处理通常集中在眼部,因为眼睛在面部特征中区分度最高[7]。除人脸外,车牌号码、身份证件、信用卡与银行账户等载体上的信息也常被打码,以避免个人资料外泄[1]。
影视与出版物领域则把马赛克当作合规手段。不少国家和地区要求对裸露部位、脏话字眼以及吸烟、刺青等画面进行遮挡后才可公开播映[1]。日本的相关规定体现在刑法第 175 条,作品须经审查机构确认已作相应处理才能发行[1]。在网络地图服务中,军事基地等敏感设施所在区块的卫星图与街景图也会被处理或降低分辨率[1]。
在图像编辑与图形编程中,马赛克既是滤镜也是基础 API。图像处理工具通常提供 blockSize 与矩形区域两个参数,前者控制马赛克粗细,后者限定处理范围,取值为 2 至 128 像素。同一类操作也被用于验证码生成:对字符图像反复施加不同强度的马赛克,使自动识别软件难以读取[11]。
局限
马赛克一旦写入图像,原始细节即被丢弃,因此这不是可逆运算,无法把处理后的图逐像素恢复为原图[4]。但这不等于遮挡一定有效:处理后仍保留的黑白分布、方格边界或灰度线索,可能被算法结合先验知识重建出接近原始的内容[4]。
遮挡强度由块尺寸与原图尺寸共同决定。当块尺寸偏小、原图分辨率较高时,像素化只是轻微降低清晰度,甚至无需修复即可直接读取;只有块大小足以彻底改变原始形态时,复原尝试才会失败[4]。在二维码这类结构化图像上,整体模糊处理后的图案可被工具还原,而局部笔刷涂抹与强像素化处理则难以复原[4]。南京邮电大学黄海平教授指出,能否恢复取决于处理方式、强度、覆盖位置与原图质量,并建议对没有必要展示的二维码直接裁除,或以完全不透明的纯色块完整覆盖[4]。
另一类失效来自所用工具并非真正的像素化。部分软件提供的是半透明画笔或滤镜,只是叠加了一层遮罩,原始像素仍留在图像中,调整亮度、对比度就可能让被遮挡的内容重新显现[12]。学界对视觉脱敏方法的评估也显示,像素化与模糊在阻止人眼识别方面效果有限,且用户满意度并不理想[13]。
参见
参考资料
- 馬賽克 (影像處理) [引用日期2026-10-29]
- iOS多边形马赛克的实现(上) [引用日期2026-10-29]
- gimp-filter-mosaic [引用日期2026-10-29]
- newsDetail_forward_34321576 [引用日期2026-10-29]
- C#处理数码相片之马赛克的实现 [引用日期2026-10-29]
- python 马赛克-像素图 - Loading [MathJax]/jax/input/TeX/config [引用日期2026-10-29]
- 马赛克(一种图像处理手段)_百度百科 [引用日期2026-10-29]
- 不借助 Javascript,利用 SVG 快速构建马赛克效果 [引用日期2026-10-29]
- 纯洁的马赛克简史 [引用日期2026-10-29]
- あなたはどれだけ知っている? パソコンのウンチク博物館 [引用日期2026-10-29]
- [0095] 图像处理装置再次采用随机函数 \(y = x\) 为第一图像区域的像素点和第二图像区域的像素点生成随机数 [引用日期2026-10-29]
- AI能还原二维码与打码方式有关 为防复原二维码最好裁除 [引用日期2026-10-29]
- arxiv.org 上的网页 [引用日期2026-10-29]