首頁  >  文章  >  web前端  >  PS色調均質濾鏡的快速實作(C#原始碼)。

PS色調均質濾鏡的快速實作(C#原始碼)。

高洛峰
高洛峰原創
2017-02-15 09:59:291616瀏覽

  photoshop色調均化功能通常是在進行修片處理前期比較常用的功能之一,其對擴展影像的對比度,增強視覺效果有一定的作用。在許多課本或文章中,也稱這種處理為灰階均衡化、直方圖均衡化等等。演算法原理都是對原始影像統計其直方圖,然後透過累計分佈函數,重新隱射直方圖數據,使每個色階的分佈機率都往一致的方向調整。我看到的網路上的程式碼,抑或是一些教材中的程式碼,對這個過程的描述都是相當的冗餘,要嘛是代碼累贅,效率低下,要嘛是蘿莉囉唆,很是難受。

   在給我的程式碼之前,還需要說明一些問題。對於灰階影像,由於只有一個通道,這個問題不明顯,對於常見的24位影像,由於有RGB三個通道,那就存在是每個通道都單獨均衡還是三通道聯合計算直方圖,然後利用相同的映射表在隱射RGB資料了,經過我的測試,在Photoshop中,是取的後者。

    for (Y = 0; Y <p></p><p><span style="font-size: 13px; font-family: 宋体;">  演算法部分就是這麼簡單的二十幾行程式碼,程式碼清晰,執行效率又特別高,數位相機中常見的4000*3000的照片100ms內就可以處理完畢。 </span></p><p><span style="font-size: 13px; font-family: 宋体;">    一副影像如果執行了一次色調均化,那麼再次執行色調均化應該不會有任何像素發生變換了。 </span></p><p><span style="font-size: 13px; font-family: 宋体;">    從廣義上講,色調均質可視為直方圖匹配的一個特例,即匹配的直方圖分佈為一條水平線。 </span></p><p><span style="font-size: 13px; font-family: 宋体;">    有些書中的色調均勻化是將各通道分別校正的,似乎這樣處理的效果容易導致影像整體顏色不搭配,例如經典的Lena圖:</span></p><p> <span style="font-size: 13px; font-family: 宋体;">原圖                              PS中的色調均勻               的快速實作(C#原始碼)。相關文章請關注PHP中文網! <img src="https://img.php.cn/upload/article/000/000/013/8eb48ac53c4b686a55a10d84272a9b1f-0.jpg" alt="PS色調均質濾鏡的快速實作(C#原始碼)。"    style="max-width:90%"  style="max-width:90%" title="PS色調均質濾鏡的快速實作(C#原始碼)。"><img src="https://img.php.cn/upload/article/000/000/013/691628f7fd14aed82ce33125aefadd48-1.jpg" alt="PS色調均質濾鏡的快速實作(C#原始碼)。"    style="max-width:90%"  style="max-width:90%" title="PS色調均質濾鏡的快速實作(C#原始碼)。"> <img src="https://img.php.cn/upload/article/000/000/013/691628f7fd14aed82ce33125aefadd48-2.jpg" alt="PS色調均質濾鏡的快速實作(C#原始碼)。"    style="max-width:90%"  style="max-width:90%" title="PS色調均質濾鏡的快速實作(C#原始碼)。"></span></p>
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn