ABCDV网站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1777|回复: 4

【求助】C++实现图象编码解码

[复制链接]
发表于 2006-3-1 22:40:38 | 显示全部楼层 |阅读模式
现在要用C++实现图象的编码解码

具体是两张图,一张是标准图,另一张是保密图。
要用编码器把两张图重叠,使输出一张图。
然后再用解码器把这张图减去那张标准图,输出保密图。

我有一个问题,在一个点上如果颜色是[245,123,33]要和另一幅图此点是[255,98,87]重合的话怎么办?
象素最大是[255,255,255]这样编码在两图相减的时候第一个红色就减弱了。

z.B.[255,234,33] + [233,43,2] = [?,?,35]
如果在问号的地方是255,因为最大是255
dann [255,255,35] - [255,234,33] = [0,21,2]
这就错了

这个怎么弄啊?

谢谢
发表于 2006-3-2 16:35:40 | 显示全部楼层
我没有做过图像编码,不过感觉你可以这样:
设置一个三维数组来存储超过255的数字
(255,234,33) + (233,43,2) = (255,255,35) +
(233,22,0)
只记录超过255的多余部分,不超过的为0

不知道可不可以啊!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-2 17:42:49 | 显示全部楼层
应该是没问题的

试试看
回复 支持 反对

使用道具 举报

发表于 2006-3-3 03:02:15 | 显示全部楼层
这个是不是传说中的饱和运算?超过上限的值取最大值,超过下限的值取最小值(通常是0)。微小的走样应该是可以接受的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-3 17:49:08 | 显示全部楼层
这个图是比较重要的图不允许有一点走样

或者可以设计一个其他算法

比如把点叠加的时候用(rot1+rot2)/2这种公式来计算
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|ABCDV网站,版权所有:北京佳景时代文化有限公司 ( 京ICP备19037940号-1 |||| 京公网安备11010802012322 |||| 工信查询网址: https://www.beian.miit.gov.cn )

GMT+8, 2024-5-9 09:53 , Processed in 0.073074 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表