zoukankan      html  css  js  c++  java
  • 直方图均衡化的计算以及MATLAB实现

    直方图均衡,这里不写公式,只看怎么算

    一.手算直方图均衡

    例如一个矩阵

    [源矩阵= left[ egin{matrix} 4&4&4&4&4&4&4&0\ 4&5&5&5&5&5&4&0\ 4&5&6&6&6&5&4&0\ 4&5&6&7&6&5&4&0\ 4&5&6&6&6&5&4&0\ 4&5&5&5&5&5&4&0\ 4&4&4&4&4&4&4&0\ 4&4&4&4&4&4&4&0\ end{matrix} ight] ]

    由题意或矩阵分析,该矩阵的灰度值范围是[0,7]
    现在,统计计算各灰度值数量、概率、累计概率

    映射后的灰度值计算=最大灰度值差*当前累计概率
    由于灰度值为正数,所以最后要取整

    灰度值 数量 概率 累计概率 映射后的灰度值 取整
    P(h=0) 8 0.125 0.125 7*0.125=0.875 1
    P(h=1) 0 0 0.125 7*0.125=0.875 1
    P(h=2) 0 0 0.125 7*0.125=0.875 1
    P(h=3) 0 0 0.125 7*0.125=0.875 1
    P(h=4) 31 0.484375 0.609375 7*0.609375=0.4.265625 4
    P(h=5) 16 0.25 0.859375 7*0.859375=6.015625 6
    P(h=6) 8 0.125 0.984375 7*0.125=6.890625 7
    P(h=7) 1 0.015625 1 7*1=7 7

    [直方图均衡化后= left[ egin{matrix} 4&4&4&4&4&4&4&1\ 4&6&6&6&6&6&4&1\ 4&6&7&7&7&6&4&1\ 4&6&7&7&7&6&4&1\ 4&6&7&7&7&6&4&1\ 4&6&6&6&6&6&4&1\ 4&4&4&4&4&4&4&1\ 4&4&4&4&4&4&4&1\ end{matrix} ight] ]

    二.matlab直方图均衡

    方法一

    • histeq(mat):对矩阵进行直方图均衡化
    • hist(mat):对矩阵进行直方图显示
    • imhist(mat):对矩阵进行直方图显示

    对于hist和imhist区别目前不知道,只是当自定义小矩阵用imhist显示直方图不成功,用hist能够显示成功

    方法二

    • imadjust(img,[low_in,high_in],[low_out,high_out],gamma)
    • -[low_in,high_in]:需要扩展的范围,归一化值,即[0,1]
    • -[low_out,high_out]:扩展到这个范围,同上
    • -gamma:映射方式(系数)

    <1变亮;
    1:变暗;
    =1:(默认值);

  • 相关阅读:
    安卓逆向5.Android Studio JNI静态注册(C++和Java互操作)
    安卓逆向二
    ASP.Net Core Web 在IIS下的发布流程
    Android Studio安装记录
    Vistual studio智能提示不显示或者显示为英文的解决办法
    (转)程序语言理论的学习对于程序员教育的作用
    普通用户ssh无密码登录设置
    (转)完全用GNU/Linux工作 by 王珢
    (转)谁是真正的程序语言专家
    java操作XML
  • 原文地址:https://www.cnblogs.com/thgpddl/p/12523173.html
Copyright © 2011-2022 走看看