<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          白平衡——圖像處理中的一種增強(qiáng)技術(shù)

          共 4420字,需瀏覽 9分鐘

           ·

          2021-10-13 18:58

          點(diǎn)擊上方小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時間送達(dá)

          俗話說,一張圖勝過千言萬語。是,如果它傳達(dá)的內(nèi)容與我們想看的內(nèi)容不符怎么辦?我們確定它應(yīng)該來自那個圖像,但不幸的是它不是很明顯。如果說,有可能從一幅圖像中發(fā)現(xiàn)我們想要了解的背景,并且很可能在這一過程中獲得一些額外的見解,那會怎么樣?


          這就是我們今天要討論的——圖像增強(qiáng)!


          圖像增強(qiáng)由一組用于細(xì)化圖像的技術(shù)組成。通過這種方式,圖像在視覺上更容易被人類感知,這反過來將進(jìn)一步促進(jìn)改進(jìn)的圖像處理分析。圖像增強(qiáng)處理技術(shù)包括:


          1. 傅里葉變換

          2. 白平衡

          3. 直方圖處理


          對于這篇文章,討論將圍繞python中用于圖像增強(qiáng)的各種白平衡算法的使用展開。但在此之前,讓我們記錄下基本庫。

          import numpy as np import matplotlib.pyplot as plt from skimage.io import imread, imshow
          白平衡


          首先,什么是白平衡(WB)?這是一個消除不切實(shí)際的色偏的色彩校正過程,以便在我們想要的圖像中正確呈現(xiàn)白色的物體。我們將實(shí)施三種白平衡技術(shù),它們是:


          1. 白色補(bǔ)丁算法

          2. 灰度世界算法

          3. 地面真值算法


          為了便于說明,我們將使用下圖:


          白色補(bǔ)丁算法


          這種方法是一種典型的顏色恒定性適應(yīng)方法,它搜索最亮的色塊以用作白色參考,類似于人類視覺系統(tǒng)的做法。請注意,要在圖像中觀察到白色,RGB 顏色空間中的每個通道都應(yīng)處于最大值。


          Python中的代碼實(shí)現(xiàn):

          def white_patch(image, percentile=100):    """    White balance image using White patch algorithm    Parameters    ----------    image : numpy array            Image to white balance    percentile : integer, optional                  Percentile value to consider as channel maximum    Returns    -------    image_wb : numpy array               White-balanced image    """    white_patch_image = img_as_ubyte((image*1.0 /                                    np.percentile(image,percentile,                                   axis=(0, 1))).clip(0, 1))    return white_patch_image#call the function to implement white patch algorithmskio.imshow(white_patch(lily, 85))

          使用白色補(bǔ)丁算法增強(qiáng)百合

          正如所觀察到的,可以看到圖像變得相對更亮,中間的百合花變得非常鮮艷,這就是白色補(bǔ)丁算法如何增強(qiáng)圖像的方式。接下來,讓我們看看下一個算法。


          灰度世界算法


          灰度世界算法是一種白平衡方法,它假設(shè)圖像平均為中性灰色。如果圖像中的顏色分布良好,則灰度世界假設(shè)成立。考慮到這個假設(shè)為真,平均反射顏色被假設(shè)為光的顏色。因此,我們可以通過查看平均顏色并將其與灰色進(jìn)行比較來估計(jì)照明色偏。


          Python中的代碼實(shí)現(xiàn):

          def gray_world(image):    """    White balance image using Gray-world algorithm    Parameters    ----------    image : numpy array            Image to white balance        Returns    -------    image_wb : numpy array                  White-balanced image    """    image_grayworld = ((image * (access.mean() /                       image.mean(axis=(0,1)))).                      clip(0,255).astype(int))    # for images having a transparency channel        if image.shape[2] == 4:    image_grayworld[:,:,3] = 255    return image_grayworld#call the function to implement gray world algorithmskio.imshow(gray_world(lily))

          使用灰度世界算法增強(qiáng)百

          如圖,可以看出它與原始圖像并沒有太大的偏差,其原因之一可能是平均顏色及其與灰色的比較并不那么顯著,然后讓我們看看最后一個算法。


          地面真值算法


          到目前為止,我們已經(jīng)對顏色空間在圖像上的表現(xiàn)做了假設(shè)。現(xiàn)在,我們將選擇一個補(bǔ)丁(圖像的一部分)并使用該補(bǔ)丁重新創(chuàng)建我們想要的圖像,而不是對增強(qiáng)圖像做出假設(shè)。


          為該圖像選擇的補(bǔ)丁程序如下所示:

          from matplotlib.patches import Rectanglefig, ax = plt.subplots()ax.imshow(lily)ax.add_patch(Rectangle((650, 550), 100, 100, edgecolor='b', facecolor='none'));

          補(bǔ)丁(包含在藍(lán)色邊框中)

          補(bǔ)丁的放大圖像

          選擇補(bǔ)丁后,我們現(xiàn)在將繼續(xù)增強(qiáng)我們的圖像。為此,我們可以采用兩種方式:


          1. 最大值方法— 將原始圖像的每個通道歸一化為該區(qū)域每個通道的最大值

          2. 平均值在方法— 將原始圖像的每個通道歸一化為該區(qū)域每個通道的平均值


          Python中的代碼實(shí)現(xiàn):

          def ground_truth(image, patch, mode='mean'):      """   White balance image using Ground-truth algorithm   Parameters   ----------   image : numpy array           Image to white balancr   patch : numpy array           Patch of "true" white   mode : mean or max, optional          Adjust mean or max of each channel to match patch     Returns   -------      image_wb : numpy array              White-balanced image   """   image_patch = img_patch   if mode == 'mean':       image_gt = ((image * (image_patch.mean() / \                   image.mean(axis=(0, 1))))\                   .clip(0, 255)\                   .astype(int))   if mode == 'max':       image_gt = ((image * 1.0 / image_patch.max(axis                    (0,1))).clip(0, 1))   #transparency channel   if image.shape[2] == 4:       image_gt[:,:,3] = 255return image_gt

          讓我們看看兩種模式的輸出。


          使用最大值方法:

          skio.imshow(ground_truth(lily, img_patch, 'max'))

          使用地面真值算法增強(qiáng)圖像(最大值模式)

          除了生動地強(qiáng)調(diào)百合之外,還可以觀察到花朵周圍的浮葉也得到了增強(qiáng),綠色通道被極大地突出顯示。讓我們看看這與使用均值作為模式有何不同。


          使用平均值方法:

          skio.imshow(ground_truth(lily, img_patch, 'mean'))

          使用地面真值算法增強(qiáng)圖像(平均值模式)

          輸出稍微接近白色補(bǔ)丁輸出,但后者更亮。它還強(qiáng)調(diào)了百合花的顏色,但它沒有突出浮葉的顏色,只是提亮了它。


          對于地面真值算法,輸出圖像很大程度上取決于補(bǔ)丁圖像的選擇。因此,通過可視化我們想要獲得什么樣的增強(qiáng)圖像來明智地選擇補(bǔ)丁。

          我們現(xiàn)在可以使用 3 種不同的方法來增強(qiáng)圖像。


          下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
          在「小白學(xué)視覺」公眾號后臺回復(fù):擴(kuò)展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺實(shí)戰(zhàn)項(xiàng)目52講
          小白學(xué)視覺公眾號后臺回復(fù):Python視覺實(shí)戰(zhàn)項(xiàng)目即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計(jì)數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺。

          下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
          小白學(xué)視覺公眾號后臺回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講即可下載含有20個基于OpenCV實(shí)現(xiàn)20個實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          交流群


          歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器自動駕駛、計(jì)算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN算法競賽等微信群(以后會逐漸細(xì)分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進(jìn)入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~


          瀏覽 50
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久亚洲精品美国红色片 | 欧美手机在线视频 | 青青草黄色视频在线观看 | 色 aⅴ 性 欧美 色点点点丁香五月天 | 亚州免费视频 |