图像量化函数

图像量化函数——matlab版

代码片.

// An highlighted block
function ouput_img = quantize(input_img,level)
%	quantize 图像量化函数
%   input_img:输入图像
%   level: 给定的图像灰度级数
%   ouput_img:输出图像
    src = double(input_img);% 将输入图像转为double型,便于后续取整操作
    [m, n] = size(src); 
    k = level/256;  %计算量化前后的比值
    dst = zeros(m,n,'uint8'); % 建立8为无符号的图像 
    res = zeros(m,n,'uint8'); 

    for i = 1 : n
        for j = 1 : m
            dst(j,i) = fix(k*src(j,i)); %向零取整
        end
    end
    % 寻找图像中的最大、最小灰度值
    max_dst = 0;
    min_dst = 255;
    for i = 1 : n
        for j = 1 : m 
            if dst(j,i)> max_dst
                max_dst = dst(j,i);
            end      
             if dst(j,i)< min_dst
                min_dst = dst(j,i);
            end     
        end  
    end


    %将图像灰度值映射到0~255之间
    for i = 1 : n
        for j = 1 : m
            res(j,i) = round(dst(j,i)*(255/(max_dst - min_dst)));
        end

    end
    ouput_img = res;
end

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值