【发布时间】:2021-09-05 18:54:23
【问题描述】:
我希望将图像与“质量增量”数据包一起打包为低质量图像,以便用“质量增量”修补低质量图像可以提高其质量并使其更接近原始图像。
说得更清楚,
我想将图像打包为“基础图像”(原始图像质量较差,例如 10%),以及数据包 q1、q2、q3、...。qn
这样
base-image + q1 = original image at quality 20%
base-image + q1 + q2 = original image at quality 30%
...
base-image + q1 +q2 + .... qn = original image at quality 100%
我的要求是打包图像并通过单板计算机 (Raspberry Pi) 发送。我需要尽可能减小文件大小,但图像不应该像素化太多以至于不清楚。使用这种“增量图像质量”方法,我的想法是获得低质量的图像,并且只接收几个增量(比如直到 q3)并认为它“可以接受”,这样我就可以停止发送/接收更多数据包。
请指导我如何处理这个问题。
【问题讨论】:
-
通常,减小文件大小的有效方法是应用图像压缩算法。是你考虑的方式吗?
-
stackoverflow.com/questions/2691649/… 中提到的标准。您以不断增加的分辨率加载图像,并且在分辨率/质量足够高时可能会在固定的设定时间后中止。图像加载中的挂钩也有所记录。挑战。
-
@Damien 是的。当我提到“降低质量”时,我想暗示“有损图像压缩”。对不起,如果我没有正确地说出来
-
图像的像素尺寸是多少,您有示例图像吗?我认为是接收者决定何时质量足够?我假设您在发送方和接收方之间进行双向通信?通信中存在什么样的延迟?发送者可能多久发送一次?
-
使用越来越高分辨率的图像的一个问题是我们得到了大量的冗余数据(基本上,一旦我们完成了一张新图像,所有以前的数据都是无用的)。我认为 OP 想要的更接近的解决方案是使用奇异值分解 (SVD) 进行图像压缩。它的压缩方案背后有一个堆叠行为,允许您将新数据添加到以前的数据中以获得更好的图像。这是这个概念的一个很好的来源:(math.utah.edu/~goller/F15_M2270/BradyMathews_SVDImage.pdf)。至少阅读第 1 节的关键点,并查看第 9 页的示例图片。
标签: algorithm image image-processing