首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在java中以未压缩静止图像的形式写入JPEG图像会破坏数据

在java中以未压缩静止图像的形式写入JPEG图像会破坏数据
EN

Stack Overflow用户
提问于 2015-04-16 04:08:47
回答 1查看 236关注 0票数 0

我正在开发一个将数据隐藏在JPEG图像的LSB中的应用程序。知道JPEG是有损压缩,默认压缩率为70%,我将其参数更改为100%,从而假设它不会破坏图像中的任何数据。下面是代码。

代码语言:javascript
复制
File output = new File(gui.getOutput()+".jpg");

ImageWriter jpgWriter = ImageIO.getImageWritersByFormatName("jpg").next();
ImageWriteParam jpgWriteParam = jpgWriter.getDefaultWriteParam();
jpgWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
jpgWriteParam.setCompressionQuality(1f);

FileImageOutputStream outputStream = new FileImageOutputStream(output); 
jpgWriter.setOutput(outputStream);
IIOImage outputImage = new IIOImage(image, null, null);
jpgWriter.write(null, outputImage, jpgWriteParam);
jpgWriter.dispose();

创建的图像确实损失较少,但我存储在像素中的数据已被销毁。(我通过读取LSB中插入的数据进行了检查,但这不是我存储在图像中的数据)。

如何避免数据被破坏?

EN

回答 1

Stack Overflow用户

发布于 2015-04-26 14:42:52

A必须读取api,并且它仅适用于量化步骤

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

https://stackoverflow.com/questions/29659906

复制
相关文章

相似问题

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