用Python识别假图片ps过的图片

我们经常在线通过网页提交身份材料办理业务的时候,发现ps修改过的图片在办理业务的时候提示非真实拍照要求重新上传,那么这个是怎么实现的,今天教大家用python来实现一个识别图片真假的程序。

用<a href='/tag/python.html'>Python</a>识别假图片ps过的图片

我们先说说鉴别的原理

▊ 主要分两级鉴别:

▶第一级、通过检查图片文件中的metadata获取图片被修改的签名信息,如被Photoshop修改的话会有相关的签名字样,但是这个不能完全杜绝通过其他途径修改图片信息,那么我们就进行第二级别的验证。

▶第二级、对图像进行ELA(错误级别分析)检测,然后将检测结果提供给LBPH(本地二进制模式直方图) 识别器,该识别器确定其是伪图像还是真实图像。虽然LBPH算法用于人脸识别,但是它也可以在该项目中用于生成直方图并进行比较。

好了,我们来看看代码怎么写吧。

▊ 所需要使用的python库

Python 2.7.14
OpenCV2
Tkinter
Pillow
Numpy
▊ 第一级检测代码

f=1
img = PIL.Image.open(imgName)info = img._getexif()if info:
   for (tag, value) in info.items():
       if "Software" == TAGS.get(tag, tag):
             lab['text'] = lab['text'] + "\非拍照图"
             lab['text'] = lab['text'] + "\n找到修改软件的签名 : " + value
              f=0
if f:
     lab['text'] = lab['...

点击查看剩余70%

{{collectdata}}

网友评论1

  1. # 107
    好像有用,可以试一下
    carlfu127 2023-02-28回复