可以旋转JPEG压缩图像而不会降低质量吗?

时间:2009-02-12 21:35:10

标签: graphics compression jpeg lossy-compression

JPEG是一种有损压缩方案,因此解压缩 - 操作 - 重新压缩通常会进一步降低每一步的图像质量。 是否可以旋转JPEG图像而不会造成进一步的损失?从我对JPEG算法的了解很少,它似乎可以通过一些努力避免进一步的损失。哪些常见的图像处理程序(例如GIMP,Paint Shop Pro,Windows照片库)和图形库在执行旋转时会导致质量损失而哪些不会?

10 个答案:

答案 0 :(得分:14)

有一个名为jpegtran的程序

  

jpegtran - 用于在不同JPEG格式之间进行无损转码的实用程序。

要无损旋转图像,您可以执行以下操作:

$ jpegtran -rotate 180 -perfect -outfile rotated.jpg origin.jpg

Here is a list of applications which provide the JPEG lossless rotation feature based on the IJG code

答案 1 :(得分:11)

绝对 - 只需更改EXIF数据中的方向值即可。绝大多数图像程序都会遵循此设置并将图片显示为“旋转”。

如果某些标准为真,也可以“手动”(例如以编程方式)以无损方式旋转图像 - 旋转必须为90/180度,宽度/高度必须是块大小的倍数。你也可以翻转/镜像它。我不知道图像程序是否足够聪明,特殊情况下这个操作。我猜不会。

答案 2 :(得分:9)

来自JPEG FAQ

  

“有一些专门的   可以在JPEG上完成的操作   文件没有解压缩,和   因此,没有招致   你通常会发生的世代损失   从加载和重新保存得到   常规图像编辑器中的图像。在   特别有可能做到   90度旋转和翻转   无损,如果图像尺寸   是文件块的倍数   大小(通常为16x16,16x8或8x8   彩色JPEG的像素。)   ...

     

但你需要特殊的软件;在常规图像编辑器中旋转图像不会是无损的。“

答案 3 :(得分:9)

是的,某些情况可能:90度旋转和翻转图像。 JPEG算法的核心 - 有损部分 - 涉及将图像分成8x8像素块,在块上执行discrete cosine transform,然后量化结果。在此之上还有一些色块空间转换和块的无损压缩。

旋转或翻转8x8块将使DCT具有相同的基本系数,但可能转换和/或根据转换而改变一些符号。因此,无损旋转或翻转图像的基本步骤包括:

  1. 解压缩并提取块
  2. 对每个块的DCT系数进行转置和/或符号翻转
  3. 将块重新洗牌为新订单(否则8x8块将会旋转,但仍然在旧位置)
  4. 使用无损压缩步骤重新压缩所有内容。

答案 4 :(得分:2)

不是jpg专家,但似乎90,180,270度旋转的答案是肯定的。 (甚至可能是360!:))

答案 5 :(得分:2)

是的,有可能。
快速谷歌搜索提供了这个程序列表which do this

答案 6 :(得分:1)

根据Sean McHugh关于Understanding Digital Image Interpolation的优秀文章:

  

每次旋转或扭曲图像时也会发生插值。 (......)   90°旋转是无损的,因为不需要重新定位像素   到两个像素之间的边界(因此划分)。

最终以

结束
  

尽可能避免旋转照片;如果是一张不平的照片   需要它,旋转不超过一次。

答案 7 :(得分:0)

如果您正在谈论旋转JPEG图像,那么没有进一步压缩吗?它是关于旋转像素位置。

对任何程序进行旋转都可能会改变中间尺寸,因为它需要保留原始图像,这可能是一个需要考虑的问题。

答案 8 :(得分:0)

除非您旋转90度的倍数,否则您的图像必须执行某种插值,这可能会降低图像的质量。使用良好的插值算法将有助于此。

至于打开和重新压缩,我不确定你的质量会不会更差,但后来我不确定JPEG的工作原理。

我建议您尝试压缩,操作和重新压缩,如果结果足够好,请自行查看。什么是好的,取决于你的申请。

答案 9 :(得分:0)

如果可以提供帮助:

尝试做得比Microsoft(Windows 7)本机图片查看器及其右键单击旋转选项更好,我尝试了以下链接的多个应用程序:http://jpegclub.org/losslessapps.html

例如,我尝试过FastStone Image Viewer,XnView,Photosurfer,JPEG Lossless Rotator,ExifPro Image Viewer。

在简单的90°旋转后,它们中的任何一个都比基本的Windows 7图片查看器产生更大的画面。 可以肯定的是,它的结论如此之快,但我目前还没有找到真正的无损旋转.jpeg应用程序,而且无论如何都不比内置的Windows更好。