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

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

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

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

领测软件测试网

 

其中0≤i,j≤n﹣1。图像被分成n×n个像素块 ,通常取n=8。n 并不是越大越好,因为随着n的增大,数据的计算量成指数增加,所以在给n取值的时候需要根据计算机的性能进行权衡。

  通过上面的公式进行了DCT变换之后,每个n×n的像素块的能量都往左上角集中了,如果需要进行有算压缩,则可以将变换后产生的矩阵进行量化,量化的越厉害则能够获得最大的压缩比,当然这一切都是以图像质量的损失来换取的。

  将变换后的数据进行还原成为逆变换,上面的公式的逆变换公式IDCT为:

  7、VB对二维DCT变换的实现

  真彩色图像以24位来表示一个像素的颜色,其中红、绿、蓝分别占用8位。考虑到同一个像素的红、绿、蓝三色的分布并不均匀,因此将三种颜色分别进行处理,这样就实现了将一张真彩色图像转换成了三张256阶灰度图像来处理,以达到增加压缩效果的目的。

  利用VB对红色分量的图像数据进行DCT编码的代码如下:

  For i = 0 To 7

  If i = 0 Then ci = 0.7071 Else ci = 1

  For j = 0 To 7

  If j = 0 Then cj = 0.7071 Else cj = 1

  g(i, j) = 0.25 * ci * cj

  tempdata = 0

  For x = 0 To 7

  For y = 0 To 7

  tempdata = tempdata + (pdata_r(i8 + x, j8 + y) * Cos((2 * y + 1) * j * PI / 16) * Cos((2 * x + 1) * i * PI / 16))

  Next y

  Next x

  g(i, j) = g(i, j) * tempdata

  Write #2, Round(g(i, j), 2);

  Next j

  Next i

 

延伸阅读

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


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

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