0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA图像处理-CLAHE算法的第二步对比度限制(三)

FPGA开源工坊 来源:FPGA开源工坊 2024-01-05 13:44 次阅读

在这一篇里面介绍一下CLAHE算法的第二步对比度限制。

这个过程很简单,分为下面几个步骤。

计算出来限制的阈值

将统计好的直方图数据限制在0到阈值范围内。也就是将大于阈值的直方图数据减去阈值,并将差值累计起来。

将累计的差值平均分给每个灰度。

来看一下参考的Python代码:

def cl_hist(img, clip):
    h, w = img.shape
    n = np.zeros(256, np.uint32)
    for i in range(h):
        for j in range(w):
            n[img[i][j]] = n[img[i][j]] + 1


    t = 0
    for i in range(256):
        if n[i] > clip:
            t += n[i] - clip
            n[i] = clip
    t = t / 256
    n = n + t
    pk = n
    sk = np.zeros(256, np.float32)
    sk[0] = pk[0]
    for i in range(1, 256):
        sk[i] = sk[i - 1] + pk[i]
    sk = sk / (h * w)
    sk = sk * 255
    sk = np.around(sk)
    return sk

这个和之前的直方图统计就多了中间的步骤,也就是下面这一段代码:

    t = 0
    for i in range(256):
        if n[i] > clip:
            t += n[i] - clip
            n[i] = clip
    t = t / 256
    n = n + t

就是遍历256个灰度的统计值,将大于阈值的灰度统计值就设置为阈值,并将两者的差值进行累加。最后将总的差值除以256,将最后的结果累加到每一个灰度的统计值上面。

来看一下最后的效果:

87c54c5a-ab7f-11ee-8b88-92fbcf53809c.png

可以看到相对于没有进行限制对比度的效果要好很多。

下面这幅图是没有限制对比度阈值的结果:

87dda7a0-ab7f-11ee-8b88-92fbcf53809c.png

那么这个阈值要怎么计算呢:

一般来说我们采取这样的方法来计算阈值,也就是通过图像的大小,分块的多少,和clip_limit 的值来计算出来。一般图像大小,和分块多少是不变的,也就是说可以通过clip_limit的值来调整效果。

h, w = img.shape
block = 8
clip_limit = 2
clip = clip_limit * (h * w / (block * block) / 256)
clip = round(clip)

最后来看一下Verilog的实现,可以通过下面的代码来实现对比度限制的功能。

882f0d98-ab7f-11ee-8b88-92fbcf53809c.png






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21328

    浏览量

    593267
  • 图像处理
    +关注

    关注

    26

    文章

    1226

    浏览量

    55831
  • python
    +关注

    关注

    51

    文章

    4678

    浏览量

    83476

原文标题:FPGA图像处理--CLAHE算法(三)

文章出处:【微信号:FPGA开源工坊,微信公众号:FPGA开源工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA图像处理CLAHE算法

    FPGA图像处理--CLAHE算法(一)中介绍了为啥要用CLAHE
    的头像 发表于 01-04 12:23 1486次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>图像</b><b class='flag-5'>处理</b>之<b class='flag-5'>CLAHE</b><b class='flag-5'>算法</b>

    关于IMAQdx获取的图像调节亮度对比度

    本人新手,对IMAQdx驱动研究得不够,想问问通过这个模块获取的图像怎样修改一下参数,比如调节亮度对比度什么的,烦请高手解答,不胜感激
    发表于 05-08 12:30

    怎么实现两个excel表格对比

    现在思路乱了,不知道改怎么做了。我想实现一个excel对比功能,第一 导入表格1+表格2第二步 对比表格1和表格2第三步 把表格1和表格2
    发表于 02-28 11:13

    张工教你FPGA图像处理技术

    到极值效果会更好。  直方图操作。使用直方图的图像处理有两个相关的主要步骤。第一是建立直方图,第二步是从直方图中提取数据并用它来处理
    发表于 11-05 09:50

    FPGA图像处理技术,你知道多少?

    有效位并且忽略任何会导致值超出范围的溢出位。通常还需要进行饱和或者裁剪到极值效果会更好。  直方图操作。使用直方图的图像处理有两个相关的主要步骤。第一是建立直方图,第二步是从直方图中
    发表于 03-20 11:22

    FPGA图像处理技术,你知道多少?

    有效位并且忽略任何会导致值超出范围的溢出位。通常还需要进行饱和或者裁剪到极值效果会更好。  直方图操作。使用直方图的图像处理有两个相关的主要步骤。第一是建立直方图,第二步是从直方图中
    发表于 03-20 11:22

    FPGA图像处理技术,你知道多少?

    位并且忽略任何会导致值超出范围的溢出位。通常还需要进行饱和或者裁剪到极值效果会更好。  直方图操作。使用直方图的图像处理有两个相关的主要步骤。第一是建立直方图,第二步是从直方图中提取
    发表于 04-21 14:25

    为什么DM365 对比度提高的时候,图像亮度也被提上去了,这是什么原因啊?

    本帖最后由 人间烟火123 于 2018-6-15 14:47 编辑 Hi,TI我在使用ipnc4.0调试网络摄像机。在调节图像对比度的时候,软件包里面是通过调用这个函数,实现对比度的控制
    发表于 06-15 01:58

    怎么设计图像自适应分段线性拉伸算法FPGA

    由于红外图像的成像机理以及红外成像自身的原因,红外图像对比度低、图像较模糊、噪声大等特点。因此抑止噪声,提高图像信噪比,以及调整红外
    发表于 08-16 07:10

    FPGA实时视频图像处理系统的原理是什么?

    来说,滤除噪声、扩展对比度、锐化以及色彩增强等处理能显著提升视觉效果。这里设计一个基于FPGA的实时视频图像处理系统,包含增强
    发表于 08-22 08:22

    【干货】基于FPGA图像处理图像增强)之直方图均衡

    ,在整幅图像中出现的次数。% [ 第二步 ] 统计每个像素值出现的概率, 得到概率直方图T = zeros(1, 256);T = double(T); count = double(count
    发表于 12-08 09:40

    荐读:FPGA设计经验之图像处理

    当前来的灰度值做为读RAM地址,读出RAM中对应灰度值的的统计值; 第二步将读出结果加一并回写回RAM的当前地址中; 第三步重复操作至当前图像处理结束; 第四
    发表于 06-08 15:55

    视觉对比度分辨率补偿的底层图像挖掘

    介绍了用于底层图像挖掘的视觉对比度分辨率补偿的方法。由于人类视觉对比度分辨率限制,不能清楚分辨在微光(暗视觉)环境下获取的图像。用视觉
    发表于 12-15 15:00 26次下载
    视觉<b class='flag-5'>对比度</b>分辨率补偿的底层<b class='flag-5'>图像</b>挖掘

    基于对比度阈值的改进SIFT算法

    为了提高基于SIFT(Scale Invariant Feature Transform)图像匹配算法对于图像对比度变化的鲁棒性和算法效率,
    发表于 10-26 15:11 0次下载

    FPGA图像处理-CLAHE算法介绍(一)

    在介绍CLAHE算法之前必须要先提一下直方图均衡化,直方图均衡化算法是一种常见的图像增强算法,可以让像素的亮度分配的更加均匀从而获得一个比较
    的头像 发表于 01-02 13:32 999次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>图像</b><b class='flag-5'>处理</b>-<b class='flag-5'>CLAHE</b><b class='flag-5'>算法</b>介绍(一)