由Photoshop高反差保留算法原理聯想到的一些圖像增強算法。


  關於高反差保留的用處說明呢,從百度里復制了一段文字,我覺得寫得蠻好的:

  高反差保留就是保留圖像的高反差部分,再說得真白些,就是保留圖像上像素與周圍反差比較大的部分,其它的部分都變為灰色。拿一個人物照片來舉例,反差比較大的部分有人的眼睛,嘴,以及身體輪廓。如果執行了就反差保留,這些信息將留下來(與灰色形成鮮明對比)。它的主要作用就是加強圖像中高反差部分。還以人物照片為例子,一般為了使人物皮膚美觀,通常需要執行模糊,執行模糊后人物的線條也被模糊了。在執行模糊之前復制圖像兩個副本,其中一個執行模糊,另一個執行高反差保留,把高反差保留后的圖層放置在模糊圖層的上方,然后執行柔光混合模式,這樣人物的線條就更清楚些。 

     那么高反差保留算法本身的執行過程是如何的呢,簡單的表達就是: 

         高反差保留 = 原始圖像 - 高斯模糊圖像 + 127

     加上127的目的是為了不讓太多的像素由於不在有效范圍內而導致圖像太黑,從而丟失信息。

     簡單的代碼如下:

unsigned char *Pointer , *CloneP;
unsigned char * Clone = (unsigned char *) malloc (Height * Stride );
memcpy(Clone, Scan0, Height * Stride);                //    復制一個圖層
GuassBlur(Clone, Width ,Height, Stride, Radius);      //    對該圖層經進行高斯模糊
for (Y = 0; Y < Height; Y++)
{
    Pointer = Scan0 + Y * Stride;
    CloneP = Clone + Y * Stride;
    for (X = 0; X < Width; X++)
    {
        ValueB = *Pointer - *CloneP + 127 ;           //    混合
        *Pointer = Clamp(ValueB);
        Pointer++;
        CloneP++;
    }
}
free(Clone);

  高斯模糊是一種低通濾波器,執行后,圖像中較為平坦的地方變化不大,而邊緣部分被模糊了,如果用原圖 - 高斯模糊則得到的則是強化的邊緣值,高反差保留在PS的英文版中對應的單詞是HighPass,即高通,也就是這個意思。

      我這里並不是想強調高反差保留的功能,雖然該算法也有着廣泛的應用。 我這里就是想通過類似於原圖 - 高斯模糊這樣的過程來增強圖像。

      很多圖像都需要增強,特別是一些醫學圖像,由於拍攝的硬件或拍攝的場合不理想,得到的圖像往往細節都被隱藏起來,因此,細節的增強顯得尤為重要,而原圖 - 高斯模糊正好是圖像的細節部位的信息的一種表達,因此,如果在模糊圖的基礎上再加上這個細節, 則即減少了噪音,又保持了邊緣等細節(邊緣和噪音都屬於高頻部分的),能有效的增強圖像的信息。  

      因此,如果用這樣的方式來得到一副圖像:

      增強圖像 = 模糊圖像 + Amount *(原始圖像 - 高斯模糊圖像)

      其中Amount控制增強的程度,則能起到一定的增強作用。 

    

        原圖                           Amount = 3                        Amount = 6 

  更好的一種方式則是采用雙邊濾波器來處理,即用雙邊濾波來代替上述高斯模糊的過程。

  比如用雙邊模糊,上述效果則更好,如下圖所示。

   

   

   

           原圖                          Amount = 3                       Amount = 6 

     不過廣泛的測試表明:這個算法使用的范圍似乎不廣,對於很多圖像效果過於明顯。

     測試程序下載:鏈接

 

*********************************作者: laviewpbt   時間: 2014.3.5   聯系QQ:  33184777  轉載請保留本行信息************************

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM