グラフィックマジックやイメージマジックで90度の画像回転は常にロスレスですか?グラフィックマジックやイメージマジックで90度の画像回転が可逆
など。実行するとき
gm convert -rotate 90 img.img rot90.img.img
gm convert -rotate -90 rot90.img.img back.img
img.imgとback.imgは等しくなりますか?
グラフィックマジックやイメージマジックで90度の画像回転は常にロスレスですか?グラフィックマジックやイメージマジックで90度の画像回転が可逆
など。実行するとき
gm convert -rotate 90 img.img rot90.img.img
gm convert -rotate -90 rot90.img.img back.img
img.imgとback.imgは等しくなりますか?
これに対する答えは、Image/GraphicsMagickの内部ではなく、使用している特定の画像フォーマットによって異なります(有能に書かれていると仮定します)。
生フォーマット(BMPなど)の場合、これが完全に同一ではない理由はありません。
ロスレスフォーマットでは、数値精度のために微妙な違いがある可能性があります。
損失のあるフォーマット(JPEGなど)では、違いがあることはほとんど間違いありません。たとえばJPEGの場合、各8x8ブロックの圧縮は左のブロックの影響を受けます。イメージを回転すると、その空間的関係が変わります。
また、 'PNG 'のようないくつかのフォーマットでは、作成日時が埋め込まれているので、画像のピクセルがビットごとに同じでも、メタデータによって' cmp'や 'diffあなたの質問ごとに*「不等」*であることに注意してください。 –
*「各8x8ブロックの圧縮は、そのブロックの左のブロックの影響を受けます」*最終的な圧縮は、おそらく損失である量子化ではありません。 JPEGを時計回りに90度回転させることはできますが、両方の次元が8の倍数であれば、ロスレス回転が可能です。 – xenoid
私は '.img'ファイルに慣れていません。それがロスレスなフォーマットなら、このプロセスで情報が失われることはないと思います。しかし、フォーマットが例えばJPEGの場合は、最後に多少のバリエーションがあるはずです。 –
@OliverCharlesworthあなたの貢献に感謝します!接尾辞 'img'は特定の画像ファイルの種類を表すのではなく、すべての可能な画像形式を表すことを意図していました。 –