首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无损灰度JPEG“颜色”倒置?

无损灰度JPEG“颜色”倒置?
EN

Stack Overflow用户
提问于 2016-01-05 20:26:04
回答 2查看 583关注 0票数 1

Imagemagick可以反转JPEG的颜色,如下所示:

代码语言:javascript
复制
mogrify -negate image.jpg

然而,这并不是没有损失的。我的直觉告诉我,颜色倒置应该是无损的,至少对于灰度图像是这样,但是我对JPEG几乎一无所知。因此,我提出以下问题:

  • 从理论上讲,无损JPEG灰度反演是可能的吗?
  • 如果是这样的话,libjpeg或其他任何软件都能做到吗?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-08 10:18:20

JPEG编码图像为多个MCU (最小编码单元- 8x8块DCT值)的一系列熵编码三角,并在每个MCU内编码量化的DCT系数。要做像倒置像素值这样的事情(即使是灰度值),需要对熵编码的比特进行解码,修改值并重新编码它们,因为您不能“反演”熵编码的DCT值。每个值的熵编码长度没有一对一的匹配,因为比特是根据统计概率和量化值的大小/符号进行编码的。另一个问题是编码后的DCT值存在于频域。我不是数学家,所以我不能确定是否有一种简单的方法来反演频域上的空间域值,但我认为这最多是很复杂的,很可能数值的量化会干扰一个简单的解。在JPEG文件中可以做到的是旋转、裁剪和不太知名的操作,比如从彩色图像中提取灰度图像。不需要解码和重新编码MCU,就不能修改单个像素值,这会导致JPEG质量的“损失”。

票数 1
EN

Stack Overflow用户

发布于 2016-01-05 20:42:42

它不是无损的,因为在YCbCr和RGB的色域之间没有1:1的匹配。如果您从YCbCR中的RGB值开始并翻转它,您可能会在YCbCr颜色空间范围之外得到一个值,该值最终会被夹紧。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34620611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档