方法二:通过图片内容鉴别通过 Exif 鉴别图片是否是原图,的确是行之有效的,但这种方法也有其局限,那就是它只能鉴定图片是否是原图,而不能鉴定图片内容是否保真。例如用 QQ、微信发送的图片,会被压缩过,图片内容没有被修改,但通过 Exif 鉴别,这仍属于处理过的图片,如此一来就显得意义不大了。
如果你想要鉴别图片内容是否被修改,那么直接鉴别图片的内容是更靠谱的方法。问题来了,这属于技术活,往往需要人工细细甄别,有没有更加傻瓜智能的方法?还真有,例如 Forensically 这个网站,其中很多功能,都非常方便且实用,可以帮你快速鉴定图片有没有被 P 过。
Forensically clone Detection:
https://29a.ch/photo-forensics/首先来说说其中的 “Clone Detection”功能。顾名思义,这可以检测图片是否存在克隆现象。通常来说,修改图片时,例如去除水印、杂物等等,都会用到 PS 中的像素克隆工具,Forensically 的检测原理就在于识别图片中重复的像素,来判断这张图片有没有被像素克隆工具修改过,下图就是 Forensically 默认提供的样张。
![](https://img.ithome.com/newsuploadfiles/2021/1/20210111005452_4957.jpg)
▲ 这些红线连起来的区域,像素是一模一样的,证明经过 PS 克隆工具的涂抹
在 Forensically 的鉴别结果中,白斑代表一模一样的像素,红线代表相同像素的平移路径。可以看到,途中有大面积相邻像素都是一模一样的,这就是经过克隆的痕迹,这无疑就是一张 PS 过的图片。
再来看一张正常的照片。
![](https://img.ithome.com/newsuploadfiles/2021/1/20210111005453_4142.jpg)
▲ 没 P 过的图,没有集中分布的相似像素
这张照片是没有经过 PS 的,在 Forensically 中尽管也鉴别出了一模一样的像素,但分布面积小且零散,因此可以认为这张图片没有被克隆工具修改过。
Forensically 的 Clone Detection 只适用于使用克隆工具修改的照片,对于其他 P 图情况,我们可以使用 Forensically 的其他工具鉴别。
例如,Forensically 的 “Error Level Analysis”功能,可以突出显示某些肉眼看上去差不多、但从计算机角度来看非常突兀的像素。例如这张示例图中的飞碟,就很显眼了,这明显就是 P 上去的。
![](https://img.ithome.com/newsuploadfiles/2021/1/20210111005453_3141.jpg)
▲ 经过一定算法处理,发现某一块像素的特征和周围的明显不同,这显然是 P 上去的图像
再来看看原始拍摄未经处理的照片,可见计算机认为像素特征是均匀的,没有突兀的像素群。
![](https://img.ithome.com/newsuploadfiles/2021/1/20210111005453_4584.jpg)
▲ 未 P 过的图像,算法处理后的像素特征是相似的
当然,Forensically 也是存在局限的,它的原理决定它只能适用于鉴定拍摄的照片(还不能有太多过曝之类造成的 “死像素”),对于截图或者 CG 这样的人造图像不那么适用。但无论如何,如果你想要鉴别某张照片有没有被 P 过,Forensically 仍是非常不错的辅助工具。