matlab获取JPEG质量因子的方法

        确定JPEG图像的质量因子,需要与质量因子为50的标准量化表进行比较。代码中取待检测图像的量化表与标准表最接近的质量因子为确定的质量因子。

        

function qf = get_jpeg_qf(img_name)
jpeg_img = jpeg_read(img_name);
jpeg_table = jpeg_img.quant_tables{1};
s_table = [16 11 10 16 24 40 51 61; 12 12 14 19 26 58 60 55; ...
     14 13 16 24 40 57 69 56; 14 17 22 29 51 87 80 62; ...
     18 22 37 56 68 109 103 77; 24 35 55 64 81 104 113 92; ...
     49 64 78 87 103 121 120 101; 72 92 95 98 112 100 103 99];
x = mean(mean(jpeg_table./s_table));
if x>1
    qf = round(50/x);
else
    qf = round(50*(2-x));
end
end

        该代码只返回JPEG图像灰度域的质量因子,色差域的质量因子可以使用相同的方法得到,区别为更换标准量化表。

function [qf1,qf2] = get_jpeg_qf_color(img_name)
jpeg_img = jpeg_read(img_name);
jpeg_table_l = jpeg_img.quant_tables{1};
s_table_l = [16 11 10 16 24 40 51 61; 12 12 14 19 26 58 60 55; ...
     14 13 16 24 40 57 69 56; 14 17 22 29 51 87 80 62;
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值