2011-08-02 48 views
2

假设某人有一张白纸的图像(.JPG或.PNG),其中有黑色文字。有人用高级照片编辑器(Photoshop,GIMP等)修改了此图像(通过笔刷更改了字母/数字)并将其发送给我们。如何检测图像是否被修改?

有没有什么办法在代码中检测到我们这种修改类型?

我读了一些算法用在摄像机上,输出图像是用一系列操作/模式渲染的。当有人通过图像编辑器触摸图像时,需要对由原始相机创建的图案进行一些不正确的处理。这是真的?

任何链接,代码或想法都将是值得赞赏的。 cas sakal

+1

你听说过什么算法?你有参考吗? – koan

+0

这只是一个猜测,但如果图像通过编辑工具,相机存储在图像上的EXIF数据会被更改/丢失? –

+0

@koan老实说我不记得链接,但是一旦我找到它,我会在这里发帖。 –

回答

0

不,这是不可能的。你可能会想出99%的工作时间,但我保证它是否足够重要,有人会找到对策。

例如,他们可以改变photoshop中的图片,打印出来并拍摄一张新照片,然后发送给您。祝你好运,检测到数字改变。

+0

嗯,可能是我应该专注于像素。 –

+0

那么,如果你在你的日子里看到很多照片冲浪,可能会工作 – so12311

1

事实上,这方面的研究历史悠久。例如,在像素级别,修改的部分可能与相邻像素不一致(当然,在某些假设下,边缘不会与相邻像素一致,但用户施加的模糊区域与图片的其余部分不一致,如果您在图像中复制区域,则两个区域的相似性分数会高得令人难以置信)。

当然,有很多对策(技术/逻辑)会打败现有的伪造检测方法。

我会建议你谷歌“数字图像伪造

+0

谢谢加里,如果我能找到有用的东西,我会研究它并回到这里。 –

1

只是一个想法,虽然我从来没有尝试过。

  1. 获取在预定的刻度图像直方图和直方图单元存储到EXIF
  2. 为了检查图像,缩放图像,以预定义的尺度,并获得其直方图
  3. 从EXIF直方图区间比较在简单(2)

类获得直方图面,我想;-)

+0

但我们没有alphaneo的原始图片。 –