以下文章来源于趣玩 APPS ,作者 Aimo

在这个万物皆可 PS 的时代,一张图片的真假似乎越来越难判定。

例如网上突然传出来一张截图,你要怎么才知道这是真的证据,还是 PS 出来的谣言?如何快速鉴定一张图片有没有被 PS 过,成为了一大难题。要完美鉴别一张图片有没有被 PS,是很困难的,这就提供两个值得一试的方法,供大家参考。

通常来说,图片生成时是会带有Exif等图片信息的。例如用手机拍摄的照片,Exif 就会携带有快门、光圈、手机型号等信息,而用 PS 处理过的图片,也会带有 Photoshop 的软件信息。因此,我们可以通过 Exif 信息,来判别某张图片是否是未经篡改的原图。

最简单的方法,自然就是直接看文件头了。例如一张图片是在 PS 中修改过、然后保存的,那么用记事本开启这张图片,就可以在它的文件头中,找到 "Photoshop" 的字样,如下图所示。

用记事本打开图片文件,有 "Photoshop" 字样,说明这是一张用 PS 保存的图片

能修改图片的软件不止 PS,如果是用其他软件来修改,我们还可以通过第三方软件来鉴别其 Exif,例如下面的这款"JPEGsnoop"。

JPEGsnoop:https://www.impulseadventure.com/photo/jpeg-snoop.html

鉴别出该图经过处理

根据 JPEGsnoop 给出的信息,这张图片是经过处理或者编辑的,也就是说它不是原图。

再看这张图,JPEGsnoop 判断它就是原图,没有经过任何 PS,可以确信为真了。

鉴别出这是原始图片

通过 Exif 鉴别图片是否是原图,的确是行之有效的,但这种方法也有其局限,那就是它只能鉴定图片是否是原图,而不能鉴定图片内容是否保真。例如用 QQ、微信发送的图片,会被压缩过,图片内容没有被修改,但通过 Exif 鉴别,这仍属于处理过的图片,如此一来就显得意义不大了。

如果你想要鉴别图片内容是否被修改,那么直接鉴别图片的内容是更靠谱的方法。问题来了,这属于技术活,往往需要人工细细甄别,有没有更加傻瓜智能的方法?还真有,例如Forensically这个网站,其中很多功能,都非常方便且实用,可以帮你快速鉴定图片有没有被 P 过。

Forensically clone Detection:https://29a.ch/photo-forensics/

首先来说说其中的"Clone Detection"功能。顾名思义,这可以检测图片是否存在克隆现象。通常来说,修改图片时,例如去除水印、杂物等等,都会用到 PS 中的像素克隆工具,Forensically 的检测原理就在于识别图片中重复的像素,来判断这张图片有没有被像素克隆工具修改过,下图就是 Forensically 默认提供的样张。

这些红线连起来的区域,像素是一模一样的,证明经过 PS 克隆工具的涂抹

在 Forensically 的鉴别结果中,白斑代表一模一样的像素,红线代表相同像素的平移路径。可以看到,途中有大面积相邻像素都是一模一样的,这就是经过克隆的痕迹,这无疑就是一张 PS 过的图片。

再来看一张正常的照片。

没 P 过的图,没有集中分布的相似像素

这张照片是没有经过 PS 的,在 Forensically 中尽管也鉴别出了一模一样的像素,但分布面积小且零散,因此可以认为这张图片没有被克隆工具修改过。

Forensically 的 Clone Detection 只适用于使用克隆工具修改的照片,对于其他 P 图情况,我们可以使用 Forensically 的其他工具鉴别。

例如,Forensically 的 "Error Level Analysis" 功能,可以突出显示某些肉眼看上去差不多、但从计算机角度来看非常突兀的像素。例如这张示例图中的飞碟,就很显眼了,这明显就是 P 上去的。

经过一定算法处理,发现某一块像素的特征和周围的明显不同,这显然是 P 上去的图像

再来看看原始拍摄未经处理的照片,可见计算机认为像素特征是均匀的,没有突兀的像素群。

未 P 过的图像,算法处理后的像素特征是相似的

当然,Forensically 也是存在局限的,它的原理决定它只能适用于鉴定拍摄的照片(还不能有太多过曝之类造成的 " 死像素 "),对于截图或者 CG 这样的人造图像不那么适用。但无论如何,如果你想要鉴别某张照片有没有被 P 过,Forensically 仍是非常不错的辅助工具。

PS 鉴定是一个技术活,很难通过软件算法自动得出图片是否为真的结果,但如果软件算法只是作为辅助,结合人的经验进行判断,还是能有个十不离八九的结果的,希望上文的方法能帮到大家,如果有什么新奇的坚定思路或者方法,也欢迎在评论区分享!

本文内容经授权转自「太平洋电脑网」,文章为作者独立观点,不代表黑马公社立场。

学计算机的能看出批图吗,高手教你:如何看出一张图有没有被P过?相关推荐

  1. 学计算机能把照片还原吗,计算机学生给乔碧萝p图,还原最高颜值,以下4张图谁可以毕业?...

    原标题:计算机学生给乔碧萝p图,还原最高颜值,以下4张图谁可以毕业? 乔碧萝殿下因为在直播过程当中档图突然消失而走红于网络,对于58岁年纪的她来说,长相不算太丑,只不过和网友预期心里期望值差距太大,才 ...

  2. Matlab 一张图绘制在一个figure里,多张图绘制在一个figure里,和多张图分别绘制在一个figure里(多重子图)讲解及代码

    matlab的绘图可以采用直角坐标系.对数坐标系和极坐标等形式.数据点也可用向量或矩阵形式给出,类型可以是实型或复型. 一张图绘制在一个figure里: 以实例和代码讲解:在不同图形窗口下分别绘制出y ...

  3. 学计算机的能看出批图吗,P图P的好,女朋友满街跑,P图先学计算机,清华和这些学校少不了...

    P图P的好,女朋友满街跑,P图先学计算机,清华和这些学校少不了. 有多少人说学计算机没有用,但是在计算机毕业之后,有好多知识技能都要在电脑上运用,那对于在学习计算机的学生来说,学习计算机专业对他们来说 ...

  4. 学计算机的能看出批图吗,高手教你:如何看出一张图有没有被 P 过?

    以下文章来源于趣玩 APPS ,作者 Aimo 在这个万物皆可 PS 的时代,一张图片的真假似乎越来越难判定. 例如网上突然传出来一张截图,你要怎么才知道这是真的证据,还是 PS 出来的谣言?如何快速 ...

  5. python画多图在一个图_python pyecharts 实现一个文件绘制多张图

    Grid并行显示多张图 注意: 第一个图需为 有 x/y 轴的图,即不能为 Pie,其他位置顺序任意 from pyecharts import Bar, Line, Scatter, EffectS ...

  6. sketch android 切图,三分钟教你快速设置Sketch切图方案

    Sketch想必小伙伴们都已经用的挺熟悉的啦,在你的工作中,应该常常碰到各样切图尺寸大小的问题.陈踢缺er曾在设计App项目中也遇到过各种这样的问题,下面我来结合实际操作来分享给大家使用sketch如 ...

  7. 用线阵相机列车图,切割成每节车厢一张图工作总结

    切车厢工作总结 目标:根据深度学习反馈的车厢连接处坐标,将线阵相机拍摄的一列车的图,拼成每节车厢一张的图. 由于车厢连接处,在两节车的中间,深度学习识别的不准,需要做改进. 备选方案:半张图移动方案, ...

  8. 学计算机有作业吗,有没有电脑高手,大学计算机专业的作业

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 第一部分:Word操作题(共40分) 21世纪人类基因研究与科学伦理 一.二十一世纪的基因研究前景 二十世纪的两大科技成就是人类深入到了原子核和细胞核.2 ...

  9. 佟年学计算机为什么游戏不行,韩商言想要教佟年玩游戏太心机了,一句话就暴露了男主的小心思...

    原标题:韩商言想要教佟年玩游戏太心机了,一句话就暴露了男主的小心思 <亲爱的热爱的>最新的剧集有点虐但最新的预告却甜炸了,预告中可以发现接下来的剧集中,韩商言和佟年就要互表心意正式确定恋爱 ...

最新文章

  1. PyTorch 系列教程之空间变换器网络
  2. OpenCart之商品管理教程
  3. 品牌网络推广方案浅析在编写文章标题时都有什么技巧?
  4. ubuntu 安装deb_Ubuntu不完全小坑指南
  5. arduino 读取当前时间_Arm难以撼动,暴露下的Arduino与RISCV联合体就是个笑话
  6. css控制div等比高度
  7. 数据挖掘-分类与预测-神经网络算法
  8. Ext.net中的MessageBox的简单应用
  9. 顺丰控股:2月速运物流业务营业收入98.49亿元,同比下降3.36%
  10. 第六章:编写安全应用
  11. C#大型医院管理系统源码
  12. 链接mysql 504_常见错误类型502与504
  13. Unity 3D 入门小游戏 小球酷跑(上)
  14. 为什么计算机无法访问u盘,打开U盘后为什么提示拒绝访问 打开U盘后提示拒绝访问原因...
  15. html canvas 遮罩蒙版,canvas生成遮罩图片
  16. 哪款蓝牙耳机音质好?2022音质好的蓝牙耳机盘点
  17. MySQL基础必会,简单易懂
  18. 618年中大促 ,全场6折起!限量周边8件套!
  19. uniapp打开外部应用如:浏览器、淘宝、 微信方法
  20. wpa_supplicant源码理解

热门文章

  1. 【李宏毅机器学习】Gradient Descent_1 梯度下降(p5、p6、p7 )学习笔记
  2. python美化输出模块_python日志处理模块
  3. mysql slave修改_MySql主从复制(初学笔记)
  4. centos7重启网卡命令_重启 CentOS 7 系统后的 IP 地址问题
  5. html打开网页过场动画_轻松教你学会网页设计
  6. 交换机连接控制器_DELL MD3200I存储单双控制器的自由切换
  7. python编写爬虫代码_python编写简单爬虫资料汇总
  8. java文件名命名的规则,Java文件名及其他命名规则
  9. java编译时注解_简单介绍 Java 中的编译时注解
  10. for循环python爬虫_python爬虫 for循环只出来一条