• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

DCT在彩色图像有损RLE压缩中的应用研究

发布: 2008-1-30 16:42 | 作者: 唐俊 | 来源: 希赛网 | 查看: 189次 | 进入软件测试论坛讨论

领测软件测试网

 

8.2、由于真彩色图像具有红、绿、蓝三种颜色分量,因此在进行DCT变换时,应该将三种颜色分开进行DCT运算,为了将三种颜色分开,再程序中定义了三个数组,用来在内存中分开存放三种颜色的数据。

  ReDim pdata_r(Me.Picture1.ScaleWidth, Me.Picture1.ScaleHeight)

  ReDim pdata_g(Me.Picture1.ScaleWidth, Me.Picture1.ScaleHeight)

  ReDim pdata_b(Me.Picture1.ScaleWidth, Me.Picture1.ScaleHeight)

  这样虽然要用掉一部分内存,但是却能够比较方便的将不同的颜色分开,在进行DCT变换的时候先对8×8像素块中的红色进行DCT变换,然后将变换后得到的64个数据存入文件,接着对绿色进行变换,将绿色的64个数据存入文件,蓝色采用同样的方式。因此在存储的文件中,数据不时按像素顺序存放的,而是以64个像素为单位,采用红、绿、蓝三色分开存储。

  8.3、在进行IDCT的时候,由于事先对数据进行过量化,造成了一部分数据失真,因此在IDCT后,可能会由于误差的原因导致出现有数据为负数或者是大于255的数据。这样的数据如果参与颜色的计算和显示的话,将会导致还原后的图像中出现难看的杂色像素,如图六所示:

  要解决这个问题,只需要检查经过IDCT还原后的数据,如果数据小于0,则让它等于0,如果大于255则让它等于255,经过这样的处理后,还原的图像上就变得很干净,效果如图七所示。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网