gpt4 book ai didi

jpeg - 如何在不使用十六进制编辑器解码的情况下无损地将 2 个 jpeg 连接在一起?

转载 作者:行者123 更新时间:2023-12-03 23:31:26 24 4
gpt4 key购买 nike

我正在尝试编写一个程序(java中的prob)以无损地将多个jpeg连接在一起而无需先解码它们。

我想我会从简单开始,尝试使用十六进制编辑器将 2 个相同大小的 jpeg 附加到另一个上方,并使用相同的设置进行压缩。

首先,我提取 jpeg B 的图像数据并将其附加到 jpeg A。通过修改标题中指定的尺寸,我得到了一个可以显示的新可识别图片(jpeg A + jpeg B 附加在 y 轴上)。然而,虽然 jpeg B 的图像数据清晰可辨,但似乎丢失了很多颜色信息,显然是不正确的。

所以我的问题是我在这里错过了哪些步骤?我认为我不需要更改任何其他特定于维度的 header 值,所以也许我需要对两个 jpeg 中的图像数据进行霍夫曼解码,然后将它们附加在一起,然后重新编码该批处理?

我花了一些时间阅读 jpeg 规范和标题等,但老实说,我已经超出了我的深度,真的可以用一两个指针来做!

非常感谢您的帮助。

感谢所有的建议。是的,这绝对是可能的,我应该在我原来的问题中提到 jpegtran。我基本上是在尝试复制 jpegtran 功能的这一方面,但在我自己的程序中使用它。我想我应该看一下 jpegtran 源代码,但我对 C 一无所知,对一般编程也不太了解,所以逆向工程源代码说起来容易做起来难!

最佳答案

这是非常可行的。我在很多谷歌地图图像 block 上做了这个,加入这些 block 并形成一个海报大小的图像。有一个用于 Unix 的包叫做 JPEG Tools 来做这件事。该程序被称为 jpegjoin .纯 C 源代码,带有 Windows binaries可用的。编译后,它会创建一个命令行应用程序,该应用程序在运行时会无损地连接两个 jpeg 图像以及许多其他内容。它不会解压缩任何图像,只是将压缩数据合并在一起并相应地修复标题。我用它合并了 100 个图像以创建 50 个 strip ,然后再次合并这些 strip 以创建一个大图像。

更多信息请访问 http://en.wikipedia.org/wiki/Lossy_compression#Lossless_editing

源码

底层源代码jpegtran图书馆可以找到here .模拟 的示例脚本jpegjoin here .

关于jpeg - 如何在不使用十六进制编辑器解码的情况下无损地将 2 个 jpeg 连接在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/609586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com