亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術(shù)文章
文章詳情頁

Python實現(xiàn)在線批量美顏功能過程解析

瀏覽:9日期:2022-07-21 17:04:22

結(jié)果

Python實現(xiàn)在線批量美顏功能過程解析

然后直接放源碼:

import cv2 as cvsource = cv.imread('zhaopian.jpg')dst = cv.bilateralFilter(src=source, d=0, sigmaColor=30, sigmaSpace=15)cv.imshow('source', source)cv.imshow('dst', dst)cv.waitKey()cv.destroyAllWindows()

好了,本文結(jié)果部分介紹結(jié)束,想進一步了解一下原理的同學(xué)可以接著往下看了,沒啥興趣的可以左上角了。

雙邊濾波原理

上面的圖片美顏效果其實使用的是 OpenCV 中為我們提供的雙邊濾波器,是一種圖片降噪算法。

雙邊濾波(Bilateral filter)是一種非線性的濾波方法,本質(zhì)是基于高斯濾波。

前面的文章介紹過,高斯濾波的方式會造成邊緣模糊化,這是沒辦法的事情,這是高斯濾波過濾方式而導(dǎo)致的。

而雙邊濾波就是在高斯濾波的基礎(chǔ)上,對高斯濾波的方式加以改進,結(jié)合圖像的空間鄰近度和像素值相似度的一種折處理,同時考慮 空域信息(domain) 和 值域信息(range) ,達到保邊降噪的目的。

說人話就是雙邊濾波在進行濾波的過程中,不光要考慮周圍像素值與中點像素值的大小之差,還需要考慮空間上的距離,進而確定該點對中間點的影響因子。

比如在一張圖像中,相鄰的像素點的顏色會非常相近,但是如果在邊緣區(qū)域,相鄰元素點的顏色變化會非常的大。

高斯過濾器的過濾過程中就是因為沒有考慮邊緣區(qū)域而導(dǎo)致過濾后圖像邊緣模糊,而雙邊濾波由于在過濾的過程中考慮到了周圍像素值與中點像素值的差值大小,從而會確定一個影響因子,從而實現(xiàn)圖片的保邊降噪。

具體的實現(xiàn)原理如下:

希望你們的高中數(shù)學(xué)沒有都還給你們的數(shù)學(xué)老師

整個雙邊濾波的算法分為兩部分,一個是顏色值的相似度(值域核),公式如下:

$$r(i, j, k, l) = exp( - frac{||f(i, j) − f(k, l)||2}{2{sigma2_r}} )$$

另一個是計算空間距離的相似度(空域核),也就是說,離得越近,相似度越高,公式如下:

$$d(i, j, k, l)=exp( - frac{(i−k)^2 + (j−l)2}{2{sigma2_d}})$$

上面的邏輯還是很清晰,千萬不要被一堆符號弄暈了。

這里 (i, j) 代表的是要處理的像素點的坐標(biāo)點,而 (k,l) 則是要處理的范圍內(nèi),可能影響到其值的像素點的坐標(biāo)。

最終的權(quán)重系數(shù) w(i,j,k,l) 取決于空域核和值域核的乘積,公式如下:

$$w(i,j,k,l)=d(i,j,k,l) ∗ r(i,j,k,l) = exp( - frac{(i−k)^2 + (j−l)2}{2{sigma2_d}} - frac{||f(i, j) − f(k, l)||2}{2{sigma2_r}})$$

下面是一個經(jīng)典的雙邊濾波的原理示意圖:

Python實現(xiàn)在線批量美顏功能過程解析

從這個圖中可以看出,在圖(b)空域核上,每個像素的權(quán)重是符合高斯分布的,而在圖(c)的值域核上,由于像素取值相差過大,不同顏色的權(quán)重系數(shù)相差也很大,雙邊過濾過濾完成后,邊緣兩側(cè)的像素點保留了原有的色彩值。

接下來還是看下雙邊濾波的原函數(shù):

def bilateralFilter(src, d, sigmaColor, sigmaSpace, dst=None, borderType=None)

src:原圖 d:像素鄰域的直徑。如果這個值設(shè)為非正數(shù),那么 OpenCV 會從第五個參數(shù) sigmaSpace 來將它計算出來。 sigmaColor:顏色空間濾波器的 $sigma$ 值。這個參數(shù)的值越大,就表明該像素鄰域內(nèi)有更寬廣的顏色會被混合到一起,產(chǎn)生較大的半相等顏色區(qū)域。 sigmaSpace:坐標(biāo)空間中濾波器的 $sigma$ 值,坐標(biāo)空間的標(biāo)注方差。他的數(shù)值越大,意味著越遠(yuǎn)的像素會相互影響,從而使更大的區(qū)域足夠相似的顏色獲取相同的顏色。當(dāng) d > 0 , d 指定了鄰域大小且與 sigmaSpace 無關(guān)。否則, d 正比于 sigmaSpace 。使用過程中我發(fā)現(xiàn)這個值越大,圖像的過渡效果越好。

源代碼我就不放了,實際上只有那一行代碼,不過希望看到本文的各位除了知道雙邊濾波能對圖像進行美顏以外還是能稍微了解下原理。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: python
相關(guān)文章:
主站蜘蛛池模板: 91福利国产在线观一区二区 | 模特视频一二三区 | 日韩欧美在线观看 | 日韩毛片在线免费观看 | 亚洲综合色视频在线观看 | 国产精品视_精品国产免费 国产精品视频久 | 国产真实女人一级毛片 | 亚洲国产欧美精品 | 欧美日韩一区二区三区在线观看 | 怡红院视频在线观看 | 欧美在线视频精品 | 香蕉久久夜色精品国产 | 88av视频在线观看 | 亚洲欧美视频一区 | 欧美一级毛片在线看视频 | 日本 欧美 在线 | 成年男女免费视频网站播放 | 一级女性全黄久久生活片 | 欧美一级片手机在线观看 | a国产视频 | 久久99精品国产免费观看 | 在线免费黄色网址 | 手机看片1024精品国产 | 性做久久久久久久免费观看 | 很黄很色的摸下面的视频 | 欧美在线成人午夜影视 | 久草视频中文在线 | 国产亚洲精品午夜高清影院 | 亚洲欧美男人天堂 | 欧美亚洲国产精品久久高清 | 免费一级特黄特色黄大任片 | freese×video性欧美丝袜 | 日本欧美久久久久免费播放网 | 精品久久免费观看 | 亚洲大片免费观看 | 久色福利 | 国产精品密蕾丝视频 | 欧美另类综合 | 日本午夜视频 | 免费观看一级一片 | 国产精品线在线精品国语 |