java操作图像像素后,如何完整输出成图片?

weixin_44016056 2020-01-16 02:42:55
求助大佬:
1、我用ImageIO.read 读取图片 ,2、对图片像素进行一些操作后,3、将像素嵌入回去图片中,再输出成图片。
前两步还好好的,可是到了最后一步,用ImageIO,write写图片。图片的像素却改变了。

因为我第二步的操作是 将加密信息嵌入图像,因此必须确保图片像素完整的输出。

有大佬能帮助一下小弟嘛?




...全文
753 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

可以用png, jpg会压缩

weixin_44016056 2020-01-17
  • 打赏
  • 举报
回复
顶顶,有大佬嘛?
幽饮烛 2020-01-17
  • 打赏
  • 举报
回复
不能用 jpg 格式,jpg 是有损压缩,压缩的时候会改变像素值。
sunyiz 2020-01-17
  • 打赏
  • 举报
回复
引用 4 楼 weixin_44016056 的回复:
顶顶,有大佬嘛?

我对dct和idct变换没什么研究
也不清楚你只取数据的“B”层是如何操作的
在 BufferedImage 的数据数组中,每个像素应该是一个 Int
这个 int 应该包含 ARGB 四个元素,A是透明度
你觉得最终像素被破坏了,是否有可能是A值发生了变化?
weixin_44016056 2020-01-17
  • 打赏
  • 举报
回复
引用 9 楼 sunyiz 的回复:
[quote=引用 7 楼 weixin_44016056 的回复:] [quote=引用 6 楼 幽饮烛 的回复:] 不能用 jpg 格式,jpg 是有损压缩,压缩的时候会改变像素值。
原来这样,那用什么格式会不压缩? [/quote] png[/quote] 大佬 谢谢您,真的感谢,完整输出了。
sunyiz 2020-01-17
  • 打赏
  • 举报
回复
引用 7 楼 weixin_44016056 的回复:
[quote=引用 6 楼 幽饮烛 的回复:]
不能用 jpg 格式,jpg 是有损压缩,压缩的时候会改变像素值。


原来这样,那用什么格式会不压缩? [/quote]

png
weixin_44016056 2020-01-17
  • 打赏
  • 举报
回复
引用 5 楼 sunyiz 的回复:
[quote=引用 4 楼 weixin_44016056 的回复:] 顶顶,有大佬嘛?
我对dct和idct变换没什么研究 也不清楚你只取数据的“B”层是如何操作的 在 BufferedImage 的数据数组中,每个像素应该是一个 Int 这个 int 应该包含 ARGB 四个元素,A是透明度 你觉得最终像素被破坏了,是否有可能是A值发生了变化?[/quote] 因为我是单独的抽取一层,其他层应该不会影响吧,就算影响也没关系,只要我需要的那一层没变就好了。
weixin_44016056 2020-01-17
  • 打赏
  • 举报
回复
引用 6 楼 幽饮烛 的回复:
不能用 jpg 格式,jpg 是有损压缩,压缩的时候会改变像素值。
原来这样,那用什么格式会不压缩?
weixin_44016056 2020-01-16
  • 打赏
  • 举报
回复
引用 2 楼 sunyiz 的回复:
ImageIO.read 进来应该是一个 BufferedImage 然后你怎么改变的像素? 通过 g2d 在这个 BufferedImage 里直接绘制的吗? 然后你 write 时,指定的什么图片格式呢? "png"?"jpg"? jpg是不支持透明像素的
对,我得到BufferedImage 后 获取了他RGB 的 B层 获得一个二维数组 然后我对它分成8*8的子块进行了一个dct变换,对子块的62 和 63位进行大小对比位置互换,然后进行idct变换,将子块嵌入会原像素中 然后write的时候是指定jpg,非透明的。
sunyiz 2020-01-16
  • 打赏
  • 举报
回复
ImageIO.read 进来应该是一个 BufferedImage
然后你怎么改变的像素?
通过 g2d 在这个 BufferedImage 里直接绘制的吗?
然后你 write 时,指定的什么图片格式呢?
"png"?"jpg"?
jpg是不支持透明像素的
weixin_44016056 2020-01-16
  • 打赏
  • 举报
回复
我给自己顶一下 求大佬帮助

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧