[图像去雾](一)限制对比度的自适应直方图均衡化(CLAHE)的学习体会——图像分块

最近研究图像去雾算法,作为菜鸟,慢慢学习。


算法原理参考以下两个链接:

http://www.cnblogs.com/Imageshop/archive/2013/04/07/3006334.html

http://blog.csdn.net/u010839382/article/details/49584181


我采用图像分块计算映射函数再插值增强的方法,可以把算法实现分为以下几个步骤:

(1)输入原图进行图像分块

(2)计算子图像块的CDF,映射函数

(3)逐像素根据插值原则,进行插值运算

(4)输出处理结果图


选取的测试图像(长551/宽375)


第一步:图像分块

参考帖子:http://www.matlabsky.com/thread-11379-1-1.html

该贴固定图像块大小为64*64个像素

下面修改的程序(MATLAB)可以设置图像块的数目为num*num,下边和右边不能被8整除的,则根据剩余大小存储。

<pre name="code" class="java">%局部直方图均衡化  

num = 8;
%将图像分成num*num块
h = ceil(height/num); w = ceil(width/num);

%子图像块起始行列号向量
t1 = (0:num-1)*h + 1; t2 = (1:num)*h;
t3 = (0:num-1)*w + 1; t4 = (1:num)*w;
figure; 
k = 0;
for i = 1 : num
    for j = 1 : num   
        if(i<num && j<num)
            temp = I(t1(i):t2(i), t3(j):t4(j),:);
        else
            if i == num && j~=num
            temp = I(t1(i):height, t3(j):t4(j),:);
            end
            if j == num && i~=num
             temp = I(t1(i):t2(i), t3(j):width,:);
            end
            if i == num && j==num
             temp = I(t1(i):height, t3(j):width,:);
            end
        end
        k = k + 1;
        subplot(num, num, k);
        imshow(temp);
    end
end


 分块效果如下: 

num=2


num=8


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值