中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python實現直方圖均衡基本原理解析

發布時間:2020-08-28 17:23:50 來源:腳本之家 閱讀:191 作者:iwuqing 欄目:開發技術

1. 基本原理

通過一個變換,將輸入圖像的灰度級轉換為`均勻分布`,變換后的灰度級的概率密度函數為

$$P_s(s) = \frac{1}{L-1}$$

直方圖均衡的變換為

$$s = T(r) = (L-1)\int_0^r {P_r(c)} \,{\rm d}c $$

$s$為變換后的灰度級,$r$為變換前的灰度級$P_r(r)$為變換前的概率密度函數2. 測試結果

Python實現直方圖均衡基本原理解析

圖源自skimage

3.代碼

import numpy as np
def hist_equalization(input_image):
  '''
  直方圖均衡(適用于灰度圖)
  :param input_image: 原圖像
  :return: 均衡后的圖像
  '''
  output_imgae = np.copy(input_image) # 輸出圖像,初始化為輸入
  input_image_cp = np.copy(input_image) # 輸入圖像的副本
  m, n = input_image_cp.shape # 輸入圖像的尺寸(行、列)
  pixels_total_num = m * n # 輸入圖像的像素點總數
  input_image_grayscale_P = [] # 輸入圖像中各灰度級出現的概率,亦即輸入圖像直方圖
  # 求輸入圖像中各灰度級出現的概率,亦即輸入圖像直方圖
  for i in range(256):
    input_image_grayscale_P.append(np.sum(input_image_cp == i) / pixels_total_num)
  # 求解輸出圖像
  t = 0        # 輸入圖像的灰度級分布函數F
  for i in range(256):
    t = t + input_image_grayscale_P[i]
    output_imgae[np.where(input_image_cp == i)] = 255 * t
  return output_imgae

4. 數學證明目標變換

  • $$S = T(r) = (L-1)\int_0^rp_r(w)dw$$
  • $T(r)$為嚴格單調函數,可保證反映射時,消除二義性$p_r(w)$為源圖像歸一化后的直方圖

4.1 假定

  • 圖像灰度級為:$[0, L-1]$
  • 源圖像中,$k$灰度級的像素個數:$n_k$
  • 源圖像像素總數:$n$原圖像直方
  • 圖$h(r_k) = n$4.2 歸一化后的直方圖

$$p(r_k) = n_k / n$$

$p(r_k)$即為灰度級$r_k$在源圖像中出現的概率估計

4.3 證明

概率密度函數的積分為分布函數,即對分布函數的導數為概率密度函數。

因為$p_r(r)$與$T(r)$已知,則由

$$\frac{{\rm d}r}{{\rm d}S} = \frac{p_s(s)}{p_r(r)}$$

又因為

$$S = T(r)$$


$$\frac{{\rm d}S}{{\rm d}r} = \frac{T(r)}{r}$$

聯立上三式及目標變換

$$S = T(r) = (L-1)\int_0^rp_r(w)dw$$

可得

$$p_s(s) = \frac{1}{L-1}$$

故,這意味著變換之后的圖像的灰度級為均勻分布,證畢。

總結

以上所述是小編給大家介紹的Python實現直方圖均衡基本原理解析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鲁甸县| 治多县| 融水| 泰州市| 庆安县| 绵竹市| 武陟县| 荆门市| 常熟市| 玉树县| 微山县| 柞水县| 罗山县| 江达县| 延吉市| 旬阳县| 女性| 岳西县| 资溪县| 乌鲁木齐市| 北辰区| 巨野县| 宜城市| 县级市| 米脂县| 六盘水市| 蓝山县| 泸州市| 灵山县| 霞浦县| 开封县| 邢台县| 疏勒县| 紫金县| 五河县| 屏东县| 潼南县| 河东区| 三门峡市| 临沂市| 同仁县|