利用哈达玛变换对真彩色图像进行压缩

  彩色图像的信息量很大,尤其是真彩色的活动图像,由于每秒的帧数有25帧,储存和传输都很不方便。减少彩色图像信息量需要通过压缩完成,依图像在压缩过程中是否受到损伤,压缩可分为无损压缩和有损压缩。有损压缩主要采用变换编码,例如离散余弦变换、斜变换、沃尔什变换、小波变换等。将离散余弦变换的余弦函数集替换为哈达玛矩阵,通过模仿JPEG的原理,可对图像进行压缩。由于哈达玛矩阵是一个二值化矩阵,仅由1和-1构成,计算较为简单。

  程序运行环境:scilab-4.0 , sivp 0.5。

function mqt=dht(mqc0, Q, Qdc)  // 离散哈达玛变换
    mqt =round(M_HAD * int32(mqc0) * M_HAD) * SCALE;
    mqt1 =mqt(1) / Qdc; // 直流系数单独量化
    mqt = mqt/ Q;
    mqt(1) =mqt1;
endfunction

function mqc=idht(mqt, Q, Qdc)  // 离散哈达玛反变换
    mqt1 =mqt(1) * Qdc; // 直流系数单独反量化
    mqt = mqt* Q;
    mqt(1) =mqt1;
    mqc =round(M_HAD * int32(mqt) * M_HAD) / (BLOCKSIZE^2) / SCALE;
      // 数据类型非常重要,若数据类型精度低,会引起误差
endfunction

function snr=psnr(mqc0, mqc)
    snrt =max(abs(mqc0-mqc));
    snr =mean2(abs(mqc0-mqc));
    ifsnrt>snr
      snr =sn
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值