反濾鏡演算法
① 實時美顏濾鏡是怎樣煉成的
實時美顏濾鏡是怎樣煉成的
前段時間由於項目需求,做了一個基於GPUImage的實時美顏濾鏡。現在各種各樣的直播、視頻App層出不窮,美顏濾鏡的需求也越來越多。為了回饋開源,現在我把它放到了GitHub 上面,感興趣的朋友可以去下載。下面將主要介紹實現美顏濾鏡的原理和思路。
GPUImage 是一個開源的基於GPU的圖片或視頻的處理框架,其本身內置了多達120多種常見的濾鏡效果。有了它,添加實時的濾鏡只需要簡單地添加幾行代碼。
其實美顏也是一樣,如果有這么一個美顏的濾鏡(姑且叫做GPUImageBeautifyFilter),那麼只需要把示例2.1中的GPUImageColorInvertFilter替換成GPUImageBeautifyFilter即可。我們只需要做一個GPUImageBeautifyFilter就能實現實時美顏了,問題來了,到底什麼算是美顏呢?我的理解是,大家對於美顏比較常見的需求就是磨皮、美白。當然提高飽和度、提亮之類的就根據需求而定。本文將著重介紹磨皮的實現(實際上GPUImageBeautifyFilter也實現了美白、提亮等效果)。
磨皮的本質實際上是模糊。而在圖像處理領域,模糊就是將像素點的取值與周邊的像素點取值相關聯。而我們常見的高斯模糊 ,它的像素點取值則是由周邊像素點求加權平均所得,而權重系數則是像素間的距離的高斯函數,大致關系是距離越小、權重系數越大。
如果單單使用高斯模糊來磨皮,得到的效果是不盡人意的。原因在於,高斯模糊只考慮了像素間的距離關系,沒有考慮到像素值本身之間的差異。舉個例子來講,頭發與人臉分界處(顏色差異很大,黑色與人皮膚的顏色),如果採用高斯模糊則這個邊緣也會模糊掉,這顯然不是我們希望看到的。而雙邊濾波(Bilateral
Filter) 則考慮到了顏色的差異,它的像素點取值也是周邊像素點的加權平均,而且權重也是高斯函數。不同的是,這個權重不僅與像素間距離有關,還與像素值本身的差異有關,具體講是,像素值差異越小,權重越大,也是這個特性讓它具有了保持邊緣的特性,因此它是一個很好的磨皮工具。
延伸
我所採用的磨皮演算法是基於雙邊濾波的,主要是考慮到它同時結合了像素間空間距離以及像素值本身的差異。當然也不一定要採用雙邊濾波,也有通過改進高斯模糊(結合像素值差異)來實現磨皮的,甚至能取得更好的效果。另外GPUImageBeautifyFilter不僅僅具有磨皮功能,也實現了log曲線調色,亮度、飽和度的調整,具體詳情可以參見demo 。
② ps里圖片模糊怎樣變清晰
通過PS通道銳化一般模糊的圖片都能變清晰,但你這個圖片照的時候像素太低了,估計很難變清晰。
現象:照片模糊不清
可對模糊的照片銳化清晰
使用[照亮邊緣]濾鏡、[繪畫塗抹]濾鏡
處理方法:打開圖片——進入通道[找到信息最為豐富的通道]復制副本——濾鏡——風格化——照亮邊緣[邊緣寬度為1、邊緣亮度為20、平滑度為1]——確定;濾鏡——模糊——高斯模糊[半徑為0.5]——確定;色階[銳化區域更加准確,邊緣輪廓凸顯出來]——確定;輪廓轉化為選區[將通道作為選區載入];進入圖層面版——復制圖層——濾鏡——藝術效果——繪畫塗抹[畫筆越小越清晰,銳化程度為12]——確定——取消選區——復制背景副本——混合模式修改為「正片疊底」——修改不透明度——OK。
③ 好點的圖像降噪演算法有哪些
方法1
1、打開圖片,選擇濾鏡-模糊-高斯模糊,調半徑知道模糊效果滿意為止。
2、在編輯菜單下,選擇【消退高斯模糊】,彈出對話框,把【模式】改為【顏色】ok。
方法2
1、打開圖片,選擇 圖像-模式-Lab顏色。
(切換到Lab顏色,是一種非破壞性模式改變,不會對RGB圖片有任何損壞,您可以隨意互相切換)
2、在Lab模式下,由一個明度通道(就是保存圖片細節)和兩個顏色通道a和b組成。
3、點擊a通道,濾鏡-模糊-高斯模糊,增加半徑(模糊量)直道噪點消失
4、點擊b通道,按Control+F,在b通道上應用和a通道同樣的模糊程序。(對話框不會出項,直接借用剛才a通道的濾鏡設置)
5、回到圖像菜單,返回RGB模式,噪點應該不再明顯。某些情況下,噪點可能完全消失。
④ 求問PS的濾鏡的演算法除了高斯模糊還有什麼和概率統計的內容相關呢 准備做一個概率統計的大作業,多謝!
看看paint.net開源的圖像處理軟體
⑤ 誰知道PHOTO SHOP中濾鏡的工作原理啊
混合模式原理:
Normal
正常模式,也是默認的模式。不和其他圖層發生任何混合。
Dissolve
溶解模式。溶解模式產生的像素顏色來源於上下混合顏色的一個隨機置換值,與像素的不透明度有關。
Behind
背後模式。只對圖層的透明區域進行編輯。該種模式只有在圖層的LockTransparentPixels(鎖定透明區域)為不勾選狀態才有效。
Clear
清除模式。任何編輯會讓像素透明化。這種模式和畫筆的顏色無關,只和筆刷的參數有關。該模式對形狀工具(當FillPixel選項處於勾選狀態時)、油漆桶工具、筆刷工具、鉛筆工具、填充命令和描邊命令都有效。
Darken
變暗模式。考察每一個通道的顏色信息以及相混合的像素顏色,選擇較暗的作為混合的結果。顏色較亮的像素會被顏色較暗的像素替換,而較暗的像素就不會發生變化。
Multiply
正片疊底模式。考察每個通道里的顏色信息,並對底層顏色進行正片疊加處理。其原理和色彩模式中的「減色原理」是一樣的。這樣混合產生的顏色總是比原來的要暗。如果和黑色發生正片疊底的話,產生的就只有黑色。而與白色混合就不會對原來的顏色產生任何影響。
ColorBurn
顏色加深模式。讓底層的顏色變暗,有點類似於正片疊底,但不同的是,它會根據疊加的像素顏色相應增加底層的對比度。和白色混合沒有效果。
LinearBurn
線性顏色加深模式。同樣類似於正片疊底,通過降低亮度,讓底色變暗以反映混合色彩。和白色混合沒有效果。
Lighten
變亮模式。和變暗模式相反,比較相互混合的像素亮度,選擇混合顏色中較亮的像素保留起來,而其他較暗的像素則被替代。
Screen
屏幕模式。按照色彩混合原理中的「增色模式」混合。也就是說,對於屏幕模式,顏色具有相加效應。比如,當紅色、綠色與藍色都是最大值255的時候,以 Screen模式混合就會得到RGB值為(255,255,255)的白色。而相反的,黑色意味著為0。所以,與黑色以該種模式混合沒有任何效果,而與白色混合則得到RGB顏色最大值白色(RGB值為255,255,255)。
ColorDodge
顏色減淡模式。與ColorBurn剛好相反,通過降低對比度,加亮底層顏色來反映混合色彩。與黑色混合沒有任何效果。
LinearDodge
線性顏色減淡模式。類似於顏色減淡模式。但是通過增加亮度來使得底層顏色變亮,以此獲得混合色彩。與黑色混合沒有任何效果。
Overlay
疊加模式。像素是進行Multiply(正片疊底)混合還是Screen(屏幕)混合,取決於底層顏色。顏色會被混合,但底層顏色的高光與陰影部分的亮度細節就會被保留。
SoftLight
柔光模式。變暗還是提亮畫面顏色,取決於上層顏色信息。產生的效果類似於為圖像打上一盞散射的聚光燈。如果上層顏色(光源)亮度高於50%灰,底層會被照亮(變淡)。如果上層顏色(光源)亮度低於50%灰,底層會變暗,就好像被燒焦了似的。
如果直接使用黑色或白色去進行混合的話,能產生明顯的變暗或者提亮效應,但是不會讓覆蓋區域產生純黑或者純白。
HardLight
強光模式。正片疊底或者是屏幕混合底層顏色,取決於上層顏色。產生的效果就好像為圖像應用強烈的聚光燈一樣。如果上層顏色(光源)亮度高於50%灰,圖像就會被照亮,這時混合方式類似於Screen(屏幕模式)。反之,如果亮度低於50%灰,圖像就會變暗,這時混合方式就類似於Multiply(正片疊底模式)。該模式能為圖像添加陰影。如果用純黑或者純白來進行混合,得到的也將是純黑或者純白。
VividLight
艷光模式。調整對比度以加深或減淡顏色,取決於上層圖像的顏色分布。如果上層顏色(光源)亮度高於50%灰,圖像將被降低對比度並且變亮;如果上層顏色(光源)亮度低於50%灰,圖像會被提高對比度並且變暗。
LinearLight
線性光模式。如果上層顏色(光源)亮度高於中性灰(50%灰),則用增加亮度的方法來使得畫面變亮,反之用降低亮度的方法來使畫面變暗。
PinLight
固定光模式。按照上層顏色分布信息來替換顏色。如果上層顏色(光源)亮度高於50%灰,比上層顏色暗的像素將會被取代,而較之亮的像素則不發生變化。如果上層顏色(光源)亮度低於50%灰,比上層顏色亮的像素會被取代,而較之暗的像素則不發生變化。
Difference
差異模式。根據上下兩邊顏色的亮度分布,對上下像素的顏色值進行相減處理。比如,用最大值白色來進行Difference運算,會得到反相效果(下層顏色被減去,得到補值),而用黑色的話不發生任何變化(黑色亮度最低,下層顏色減去最小顏色值0,結果和原來一樣)。
Exclusion
排除模式。和Difference類似,但是產生的對比度會較低。同樣的,與純白混合得到反相效果,而與純黑混合沒有任何變化。
Hue
色調模式。決定生成顏色的參數包括:底層顏色的明度與飽和度,上層顏色的色調。
Saturation
飽和度模式。決定生成顏色的參數包括:底層顏色的明度與色調,上層顏色的飽和度。按這種模式與飽和度為0的顏色混合(灰色)不產生任何變化。
Color
著色模式。決定生成顏色的參數包括:底層顏色的明度,上層顏色的色調與飽和度。這種模式能保留原有圖像的灰度細節。這種模式能用來對黑白或者是不飽和的圖像上色。
Luminosity
明度模式。決定生成顏色的參數包括:底層顏色的色調與飽和度,上層顏色的明度。該模式產生的效果與Color模式剛好相反,它根據上層顏色的明度分布來與下層顏色混合。
------------------------------------
濾鏡原理也一樣,通過特定的演算法完成圖像的顯示效果,不過這個都大師級人物開發出來的.用得熟練就會明白它的效果與數值之間的關系.
在網路里搜,還有很詳細的解釋.
⑥ photoshop的素描(sketch)濾鏡的演算法原理是什麼
這是一個豐富而適用的濾鏡組。使用該濾鏡組時就注意,許多濾鏡在重繪圖像時使用前景色和背景色。並且不同的濾鏡對應的面板也不一樣,原理不知道,用了濾鏡後的結果到是可以在相關的書上找到或自己實踐一下就知道了。
⑦ 圖像處理的濾鏡演算法
將顏色的RGB設置為相同的值即可使得圖片為灰色,一般處理方法有:
1、取三種顏色的平均值
2、取三種顏色的最大值(最小值)
3、加權平均值:0.3 R + 0.59 G + 0.11*B
顧名思義,就是圖片的顏色只有黑色和白色,可以計算rgb的平均值arg,arg>=100,r=g=b=255,否則均為0
就是RGB三種顏色分別取255的差值。
rgb三種顏色取三種顏色的最值的平均值。
就是只保留一種顏色,其他顏色設為0
高斯模糊的原理就是根據正態分布使得每個像素點周圍的像素點的權重不一致,將各個權重(各個權重值和為1)與對應的色值相乘,所得結果求和為中心像素點新的色值。我們需要了解的高斯模糊的公式:
懷舊濾鏡公式
公式:
r = r 128/(g+b +1);
g = g 128/(r+b +1);
b = b*128/(g+r +1);
公式:
r = (r-g-b) 3/2;
g = (g-r-b) 3/2;
b = (b-g-r)*3/2;
公式:
R = |g – b + g + r| * r / 256
G = |b – g + b + r| * r / 256;
B = |b – g + b + r| * g / 256;
公式:
r = r * 0.393 + g * 0.769 + b * 0.189;
g = r * 0.349 + g * 0.686 + b * 0.168;
b = r * 0.272 + g * 0.534 + b * 0.131;
最後是一個廣告貼,最近新開了一個分享技術的公眾號,歡迎大家關注👇
⑧ OpenGL ES 案例之馬賽克濾鏡
結合實際案例,我們來實現各種濾鏡效果,首先看一下效果:
灰度濾鏡的原理演算法如下公式,比較常用的是第一種,至於第五種的意思,就是只取綠色,因為人眼對綠色敏感度較高,綠色越少灰度越高。灰度濾鏡的實現方法有很多,比如 GPUImage ,或者系統自帶的 CoreImage 。
顛倒濾鏡比較簡單,就是改變紋理的映射關系即可。
馬賽克濾鏡這里設置三種馬賽克圖形。
假定我們紋理圖片如上圖所示,馬賽克的作用就是把其他顏色都換成臨近的紅色,來達到模糊的效果。演算法步驟:
那麼我們所去的所有像素點都會落在 AB 矩形中,在這里我們用 A 矩形來舉例說明。假設我們取了像素點 X ,那麼 A 矩形代表六邊形的頂點就是頂點1和頂點2,所以像素點 X 的取值必然是在頂點1和頂點2中選擇一個。然後我們採用臨近原則,由於 d2 小於 d1 ,所以我們這里取得像素中心點的紋理就是頂點2的色值。對應的原理也適用於 B 矩形, B 矩形對應的六邊形的頂點就是左下和右上方的頂點。
AB 矩形的寬高比我們知道是3比根號3,如果像素點X的坐標是 (x,y) ,那麼對應的像素點 X 在矩陣中的坐標就為 (int(x /( 1.5 * length)),int(y /(TR * length)))
三角形馬賽克原理:三角形馬賽克是由六邊形馬賽克演變而來,把六邊形六等分,就得到了三角形馬賽克。
⑨ PS小白: 「模糊」濾鏡傻傻分不清該怎麼運用才好
哈嘍各位小夥伴,你們平時會經常用PS裡面的模糊濾鏡嗎?我就經常用高斯模糊,因為這個濾鏡可以模糊掉不想要的東西,還可以突出我的重點,實在是個好濾鏡啊!其實,這一類「模糊」濾鏡,能創造出十分多樣化的畫面特效。只要參透它們的作用,就讓我們P圖的時候非常方便哦。
以 Photoshop CS6 為例,在上方菜單欄中選擇「濾鏡-模糊」,你就會看到許多不同種類的模糊濾鏡:
這么多種類的模糊濾鏡,其效果和應用領域各自不同。以這張黑底白線段的圖片為例(原圖):
運用不同的模糊濾鏡處理,結果如下:
「哇!好多樣化好厲害!然而我更迷糊了……」看完上面的部分模糊效果示意圖,相信不少人會有這樣的想法。別急,現在就來為您詳細說一說,幾種常用模糊工具的使用技巧和實際用途。
1. 高斯模糊
高斯模糊的核心演算法是正態分布(又叫高斯分布),因此得名。它的模糊效果與鏡頭焦外成像效果散景以及普通照明陰影中的效果都明顯不同,就像是經過一個半透明屏幕來觀察圖像。
當你調整高斯模糊濾鏡里的「像素」數值時,可以明顯地看到,像素數值越高,圖像越模糊。
高斯模糊常用於減少細節層次和減輕噪點對照片的影響。
2. 場景模糊 、光圈模糊
場景模糊可以用於製造「大光圈聚焦於某個物體」的效果,或實現對場景的局部虛化。
進入場景模糊界面後,你可以在畫面中設置多個錨點,以不同的錨點為中心,在工具欄中調整其模糊半徑。對你想保持清晰的部分,設置一個錨點,再將模糊半徑設置為 0 像素就可以了。
場景模糊的另一個重要應用,是調整「模糊效果」欄中的「光源散景」「散景顏色」來創造出散景疊加層。
光圈模糊和場景模糊類似,但沒那麼「自由」,它會生成一個圓形的「光圈」區域,創造出「中心清晰周邊模糊」的效果:
3. 徑向模糊
點擊徑向模糊,你會發現它包含兩個「模糊方法」選項:旋轉與縮放。二者分別對應不同的模糊規則,使用方法和用途也各自不同。
·旋轉
顧名思義,「旋轉」可以在指定區域製造出類似正在旋轉的動態模糊效果。
你需要用鋼筆、快速選擇或多邊形套索工具選中想要的區域(比如,汽車的輪胎部分),點擊徑向模糊-旋轉,然後調整合適的數量就可以了。
需要注意的是,徑向模糊的作用規則只針對一個區域有效。
以上圖為例,如果你想同時把前後輪做出轉動效果,必須先選中前輪,應用旋轉徑向模糊,然後選中後輪,再次應用旋轉徑向模糊。
如果你圖省事,把前後輪同時選中應用旋轉徑向模糊,旋轉的中心點會位於兩個選區的正中央,轉動效果會很奇怪:
·縮放
縮放徑向模糊,常用於製造變焦特效(也叫「拉爆」)。
你只需要用快速蒙版選中你想維持清晰的部分(或選中該區域,然後反向選擇),應用縮放徑向模糊,就能製造出動感的軌跡線效果了:
4. 動感模糊
進入動感模糊界面後,你會看到兩個選項:角度和距離;前者決定軌跡線的方向,後者決定運動軌跡線的長度。
同樣以汽車圖為例,用蒙版選中汽車(或用套索、快速選擇等工具選中汽車後反選),應用動感模糊:
效果如下:
可以看到,「距離」設定得太大並不好——因為車子邊緣四周出現了明顯的「拖影」。如果你非要追求長長的軌跡線,在調整選區時要注意對邊緣進行精細化處理。
5. 平均模糊
平均模糊的演算法比較特殊,類似於將當前區域以「整個區域的平均色調」進行填充。它的用途並不是很廣泛,但可以有效地用於消除色偏。
以這張色偏嚴重的照片為例:
第一步,復制圖層。
第二步,使用平均模糊濾鏡,然後 ctrl+i 執行反相,將圖層混合模式調成「柔光」,結果如下:
第三步,合並圖層,再次使用平均模糊濾鏡,Ctri+i 反相,將圖層混合模式調成「疊加」,結果如下:
如果感覺調整結果不滿意,重復第三步,並調節平均模糊圖層的不透明度,即可獲得想要的效果。
6. 鏡頭模糊
鏡頭模糊,是最「專業」的模糊濾鏡之一,能製造出最接近鏡頭的淺景深虛化效果。
使用鏡頭模糊濾鏡時,你需要先用摳圖手法,把前景摳出來,創建蒙版(或反向選擇):
應用「鏡頭模糊」濾鏡後,出現這樣的一個調整界面:
通過調整參數(主要是形狀、半徑和葉片彎度),你可以精確控制背景的模糊效果:
看了這些例子,是不是又發現PS很強大呢?使用方法你們都學會了嗎?學會了是吧,那我就來考考你們,本文開頭第一張圖運用的是什麼模糊濾鏡呢?
⑩ ps中的濾鏡是什麼概念
知道以前的那種3d眼鏡嗎,紅藍紙的那種
濾鏡就類似這種東西,用固定的透明圖層覆蓋原先的圖片,已達到預期的效果