重新编码使用Pillow/PIL选择JPEG块

重新编码使用Pillow/PIL选择JPEG块,jpeg,python-imaging-library,pillow,Jpeg,Python Imaging Library,Pillow,在PIL/Pillow中是否有方法打开JPEG文件,修改图像的一部分,然后将图像保存回JPEG,在JPEG中仅对修改后的块进行重新编码 有一些库支持这一点:您所描述的是不可能的。JPEG以称为MCU的组进行编码,MCU由一个或多个8x8数据块组成。您必须沿数据块或MCU边界进行编码 另一个问题是DC系数(来自DC的[0,0]系数)被编码在一起。更改一个块意味着您需要更改后面的所有块。这就是我所指的技术:。他们必须对其他块进行一些触摸。通过使用相同的量化表和重新压缩时的采样,可以获得几乎相同的效果

在PIL/Pillow中是否有方法打开JPEG文件,修改图像的一部分,然后将图像保存回JPEG,在JPEG中仅对修改后的块进行重新编码


有一些库支持这一点:

您所描述的是不可能的。JPEG以称为MCU的组进行编码,MCU由一个或多个8x8数据块组成。您必须沿数据块或MCU边界进行编码


另一个问题是DC系数(来自DC的[0,0]系数)被编码在一起。更改一个块意味着您需要更改后面的所有块。

这就是我所指的技术:。他们必须对其他块进行一些触摸。通过使用相同的量化表和重新压缩时的采样,可以获得几乎相同的效果。是的,你可以用同样的桌子。2.JPEG允许定义多个量化和哈夫曼表,以便您可以修改标题并添加新表(如果这是最佳的)。无论哪种方式,都可以不重新编码未触及的阻塞,所以我的问题是:在PIL中是否可能。不,您从源文件中读取采样的量化表,然后在重新压缩时使用它们。您可以更改哈夫曼表而不产生任何效果。您仍在“重新压缩”数据,但变化不大。