java - 存储对图像的一系列小更改的简单但有效的方法?

标签 java image-processing image-comparison

我有一系列图像。每个区域通常(但并非总是)与前一个相似,更新了 3 或 4 个小矩形区域。我需要使用最少的磁盘空间来记录这些更改。

源图像未压缩,但我希望压缩增量。

我需要能够完全按照输入重新创建图像(因此有损视频编解码器不合适。)

我正在考虑以下内容:

  • 将新图像与旧图像的负片合成
  • 以任何可以使用 RLE 压缩的常见格式(可能是 PNG)保存合成图像。
  • 通过将前一个图像与增量合成来重新创建第二个图像。

虽然图像有一个 Alpha channel ,但出于此函数的目的,我可以忽略它。

是否有易于实现的算法或具有此功能的免费 Java 库?

最佳答案

在仅包含更改的图像上对现有的无损压缩器(PNG、无损 JPEG 等)进行一些实验(您可以对 PNG 使用透明背景,或使用某种统一的颜色)。这些算法在压缩基本恒定的图像时非常有效,如果您不是专家,您将无法击败它们。

关于java - 存储对图像的一系列小更改的简单但有效的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2550188/

相关文章:

java - 使用 YCrCb 颜色空间进行颜色检测?

java - Kafka 0.9 如何在使用 KafkaConsumer 手动提交偏移量时重新使用消息

c++ - 像素叠加透明

java - 答案返回0

image-processing - 扩张/侵 eclipse 修改内核选项

Android比较2张图片并告诉水果类别是水果(苹果/香蕉)还是不是水果

visual-c++ - opencv从网络摄像头捕获图像,无需后期处理

image - 通过将一幅图像并排显示并用对角线分隔来合并 2 张图像

java - Spring 中的请求和 session bean 生命周期

java - 在不重新实例化日历和时间戳的情况下获取时间戳