来自调整大小的JPEG的奇怪图像损坏,嵌入了' c2'色彩空间

时间:2015-01-21 10:50:19

标签: java image image-processing jpeg javax.imageio

我使用java ImageIO和TwelveMonkeys库来生成各种图像的方形缩略图。这非常有效,但在极少数情况下,缩略图图像以一种非常奇怪的方式被破坏,例如:

原:

original

已调整大小并已损坏:

corrupted

更奇怪的是,这个错误看起来很短暂;使用相同的代码和环境重新生成缩略图工作正常。因此,我的主要问题是:

损坏图像的像素与原始图像的确切位置是什么?

损坏的图像与我所知道的任何图像操作都不匹配;原始的低频特征似乎已被映射到损坏的高频模式,但文本中的某些高频特征仍保留在损坏的图像中。

更新:这里是分解的RGB通道,这可能更有说服力:

red

green

blue

所有三个通道几乎(但不完全)完全饱和,只有绿色通道保留空间细节。原版(盾牌左侧)的黑色斑块虽然在红色通道中反射但

注意的其他细节:

  • 原始图片嵌入了' c2'颜色配置文件,a.k.a. the facebook profile,只有这些' c2'图像导致了这种腐败。但是,损坏不是简单的颜色重映射(e.g.),这通常是由忽略颜色配置文件引起的。此外,我已经调整了很多其他的' c2'图像没有问题。
  • 我正在使用ResampleOp operation of TwelveMonkeysResampleOp.FILTER_TRIANGLE,它会调用AffineTransformOpThe implementation似乎没有做任何非确定性的事情,但是再一次,imageIO似乎在堆外本机代码中做了很多魔术。

0 个答案:

没有答案