1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

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

        共 4420字,需瀏覽 9分鐘

         ·

        2021-10-13 18:58

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

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

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


        這就是我們今天要討論的——圖像增強!


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


        1. 傅里葉變換

        2. 白平衡

        3. 直方圖處理


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

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


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


        1. 白色補丁算法

        2. 灰度世界算法

        3. 地面真值算法


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


        白色補丁算法


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


        Python中的代碼實現(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))

        使用白色補丁算法增強百合

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


        灰度世界算法


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


        Python中的代碼實現(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))

        使用灰度世界算法增強百

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


        地面真值算法


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


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

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

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

        補丁的放大圖像

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


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

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


        Python中的代碼實現(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'))

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

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


        使用平均值方法:

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

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

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


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

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


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

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

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

        交流群


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


        瀏覽 50
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            性做爰免费无遮挡 | GOGO西西午夜人体大胆高清 | 亚洲精品福利视频 | 幼儿hiphop仙踪林的起源 | 波多野结衣按摩电影 | 黑人在线 | 日韩一区二区免费在线观看 | 骚虎视频短视频入口 | 欧美少妇一区二区三区 | 国产一极毛片 |