如何检测是否从未压缩的图像创建了压缩图像

时间:2018-08-13 07:59:10

标签: image compression

我有2张图片: 1张pgm格式的原始图像 1张pgn / jpg格式的压缩图像

是否有一个工具可以检测压缩图像是否是从原始图像创建的?

我正在linux中使用c ++,但是任何有关此主题的线索都将非常有帮助。

1 个答案:

答案 0 :(得分:1)

有很多比较图像的方法。您可以看一下:

  • 绝对错误-对不同像素数的计数
  • 峰值绝对误差-任何像素的最大差异
  • 平均绝对误差-所有像素的平均误差
  • 均方误差-如上所述,但均方误差
  • 均方根误差-上面的平方根
  • 归一化互相关。

Anthony Thyssen here有一个很好的总结。

如果我们拍摄灰度的Lena图像,并将其PGM格式与PNG和JPEG进行比较,则可以在命令行上很好地了解ImageMagick的不同之处,如下所示:

# Compare lossy JPEG Lena with PGM
compare -metric RMSE lena.pgm lena.jpg null:
567.167 (0.00865442)

# Compare lossless PNG Lena with PGM
compare -metric RMSE lena.pgm lena.png null:
0 (0)

如果我现在生成质量较低的JPEG Lena并再次与PGM进行比较,则可以看到误差/差异更大:

convert lena.pgm -quality 50 lena.jpg
compare -metric RMSE lena.pgm lena.jpg null:
1110.81 (0.0169498)