图解直方图均衡化及其Python实现(2)

def histeq(img,nbr_bins=256): """ Histogram equalization of a grayscale image. """
# 获取直方图p(r)
imhist, bins = histogram(img.flatten(), nbr_bins, normed = True)
# 获取T(r)
cdf
= imhist.cumsum() # cumulative distribution function cdf = 255 * cdf /cdf[-1] # 获取s,并用s替换原始图像对应的灰度值 result = interp(img.flatten(),bins[:-1],cdf) return result.reshape(img.shape),cdf 

一些思考

笔者以前有这样一种误解:以为所有的理论都可以从基本的数学原理推导得出,于是在碰到新问题的时候,总是试图搞清楚各个数学公式的来源及其物理含义,而忽略了这些数学运作背后的目的是什么!这样的一个缺点就是,今天能够理解的理论,过了几天就不理解了。

现在笔者的一些体会是,如果按照以下思路理解问题,能够起到事半功倍的效果(有点夸张的成分在里面):首先搞清楚问题的来源、其次知晓解决问题的目的是什么、然后将问题数学化描述(时刻注意约束条件)、最后求解该数学问题。

总结:通常情况下,如果我们能够将前三个步骤走完,最后的求解问题通过借助于现有软件、算法,应该是水到渠成的事。(本人非数学专业,对怎么求解一个数学问题,通常只关心输入、输出、以及约束条件)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/c301d2005efc16a1d5af1178fb1fdbde.html