2017-11-12 3 views
0

グラフィックマジックやイメージマジックで90度の画像回転は常にロスレスですか?グラフィックマジックやイメージマジックで90度の画像回転が可逆

など。実行するとき

gm convert -rotate 90 img.img rot90.img.img 
gm convert -rotate -90 rot90.img.img back.img 

img.imgとback.imgは等しくなりますか?

+0

私は '.img'ファイルに慣れていません。それがロスレスなフォーマットなら、このプロセスで情報が失われることはないと思います。しかし、フォーマットが例えばJPEGの場合は、最後に多少のバリエーションがあるはずです。 –

+0

@OliverCharlesworthあなたの貢献に感謝します!接尾辞 'img'は特定の画像ファイルの種類を表すのではなく、すべての可能な画像形式を表すことを意図していました。 –

答えて

2

これに対する答えは、Image/GraphicsMagickの内部ではなく、使用している特定の画像フォーマットによって異なります(有能に書かれていると仮定します)。

生フォーマット(BMPなど)の場合、これが完全に同一ではない理由はありません。

ロスレスフォーマットでは、数値精度のために微妙な違いがある可能性があります。

損失のあるフォーマット(JPEGなど)では、違いがあることはほとんど間違いありません。たとえばJPEGの場合、各8x8ブロックの圧縮は左のブロックの影響を受けます。イメージを回転すると、その空間的関係が変わります。

+1

また、 'PNG 'のようないくつかのフォーマットでは、作成日時が埋め込まれているので、画像のピクセルがビットごとに同じでも、メタデータによって' cmp'や 'diffあなたの質問ごとに*「不等」*であることに注意してください。 –

+1

*「各8x8ブロックの圧縮は、そのブロックの左のブロックの影響を受けます」*最終的な圧縮は、おそらく損失である量子化ではありません。 JPEGを時計回りに90度回転させることはできますが、両方の次元が8の倍数であれば、ロスレス回転が可能です。 – xenoid

関連する問題