欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 基于opencv實現(xiàn)高斯平滑

 更新時間:2020年12月18日 17:23:54   作者:Super~me  
這篇文章主要介紹了python 基于opencv實現(xiàn)高斯平滑,幫助大家更好的理解和使用python處理圖片,感興趣的朋友可以了解下

假設(shè)一個列數(shù)為W,行數(shù)為H的高斯卷計算子gaussKernel,其中W,H均為奇數(shù),描點位置在((H-1)/2 ,(W-1)/2),構(gòu)建高斯卷積核的步驟如下

1.計算高斯矩陣

2.計算高斯矩陣的和

3.高斯矩陣除以其本身的和,也就是歸一化

下面利用Python來實現(xiàn)構(gòu)建高斯卷積算子

def getGaussKernel(sigma, H, W):
  r, c = np.mgrid[0:H:1, 0:W:1]
  r -= (H - 1) / 2
  c -= (W - 1) / 2
  gaussMatrix = np.exp(-0.5 * (np.power(r) + np.power(c)) / math.pow(sigma, 2))
  # 計算高斯矩陣的和
  sunGM = np.sum(gaussMatrix)
  # 歸一化
  gaussKernel = gaussMatrix / sunGM
  return gaussKernel

高斯卷積核可以分離成一維水平方向上的高斯核和一維垂直方向上的高斯核,在OpenCV中給出了構(gòu)建一維垂直方向上的高斯卷積核的函數(shù):
Mat getGaussianKernel(int ksize, double sigma, in ktype = CV/_64F)

參數(shù) 釋意
ksize 一維垂直方向上的高斯核行數(shù),正奇數(shù)
sigma 標(biāo)準(zhǔn)差
ktype 返回值的數(shù)據(jù)類型為CV_32F或CV_64F,默認(rèn)是CV_64F

下面通過Python代碼來具體的實現(xiàn)圖像的高斯平滑,我們首先會對圖像水平方向進(jìn)行卷積,然后再對垂直方向進(jìn)行卷積,其中sigma代表高斯卷積核的標(biāo)準(zhǔn)差

def gaussBlur(image,sigma,H,W,_boundary = 'fill', _fillvalue = 0):
  #水平方向上的高斯卷積核
  gaussKenrnel_x = cv2.getGaussianKernel(sigma,W,cv2.CV_64F)
  #進(jìn)行轉(zhuǎn)置
  gaussKenrnel_x = np.transpose(gaussKenrnel_x)
  #圖像矩陣與水平高斯核卷積
  gaussBlur_x = signal.convolve2d(image,gaussKenrnel_x,mode='same',boundary=_boundary,fillvalue=_fillvalue)
  #構(gòu)建垂直方向上的卷積核
  gaussKenrnel_y = cv2.getGaussianKernel(sigma,H,cv2.CV_64F)
  #圖像與垂直方向上的高斯核卷積核
  gaussBlur_xy = signal.convolve2d(gaussBlur_x,gaussKenrnel_y,mode='same',boundary= _boundary,fillvalue=_fillvalue)
  return gaussBlur_xy
if __name__ == "__main__":
  image = cv2.imread("../images/timg.jpg", cv2.IMREAD_GRAYSCALE)
  cv2.imshow("image",image)
  #高斯平滑
  blurImage = gaussBlur(image, 5, 400, 400, 'symm')
  #對bIurImage進(jìn)行灰度級顯示
  blurImage = np.round(blurImage)
  blurImage = blurImage.astype(np.uint8)
  cv2.imshow("GaussBlur", blurImage)
  cv2.waitKey(0)
  cv2.destroyAllWindows()

運(yùn)行截圖:

以上就是python 基于opencv實現(xiàn)高斯平滑的詳細(xì)內(nèi)容,更多關(guān)于python 高斯平滑的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 利用Python pyecharts繪制餅圖

    利用Python pyecharts繪制餅圖

    這篇文章主要介紹了利用Python pyecharts繪制餅圖,餅圖主要用于表現(xiàn)不同類目的數(shù)據(jù)在總和中的占比。每個的弧度不是數(shù)據(jù)量的占比,下面我們一起進(jìn)入文章看看具體的實現(xiàn)過程吧,需要的朋友也可以參考一下
    2021-12-12
  • PyQt5實現(xiàn)簡易計算器

    PyQt5實現(xiàn)簡易計算器

    這篇文章主要為大家詳細(xì)介紹了用PyQt5開發(fā)一個簡易的計算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Python實現(xiàn)甘特圖繪制的示例詳解

    Python實現(xiàn)甘特圖繪制的示例詳解

    相信在平常實際工作當(dāng)中,需要對整體的項目做一個梳理,這時如果有一個網(wǎng)頁應(yīng)用能夠?qū)φw項目有一個可視化頁面的展示,是不是會對你的實際工作有所幫助呢?今天小編就通過Python+Streamlit框架來繪制甘特圖并制作可視化大屏,需要的可以參考一下
    2023-04-04
  • 在Django框架中運(yùn)行Python應(yīng)用全攻略

    在Django框架中運(yùn)行Python應(yīng)用全攻略

    這篇文章主要介紹了在Django框架中運(yùn)行Python應(yīng)用全攻略,在這之前必須搭建好簡單的視圖和模版,接下來便是本文中所述的核心內(nèi)容應(yīng)用配置,需要的朋友可以參考下
    2015-07-07
  • Python簡單實現(xiàn)socket信息發(fā)送與監(jiān)聽功能示例

    Python簡單實現(xiàn)socket信息發(fā)送與監(jiān)聽功能示例

    這篇文章主要介紹了Python簡單實現(xiàn)socket信息發(fā)送與監(jiān)聽功能,結(jié)合實例形式分析了Python基于socket構(gòu)建客戶端與服務(wù)器端通信相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • python?subprocess執(zhí)行外部命令常用方法詳細(xì)舉例

    python?subprocess執(zhí)行外部命令常用方法詳細(xì)舉例

    這篇文章主要給大家介紹了關(guān)于python?subprocess執(zhí)行外部命令常用方法的相關(guān)資料,Python的subprocess模塊提供了一種在Python中調(diào)用外部命令的方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • python分析實現(xiàn)微信釘釘?shù)溶浖嚅_分身

    python分析實現(xiàn)微信釘釘?shù)溶浖嚅_分身

    我發(fā)現(xiàn)壇友分享的很多都是通過cmd?去start?多個微信,雖然能實現(xiàn)多開,但不夠靈活,比如我上午登錄了一個微信,下午在登錄就不太好用了,當(dāng)然也可能是我start的姿勢不對。于是我就搜了下單實例原理,自己動手實現(xiàn)了個隨用隨開的
    2022-02-02
  • python爬蟲selenium和phantomJs使用方法解析

    python爬蟲selenium和phantomJs使用方法解析

    這篇文章主要介紹了python爬蟲selenium和phantomJs使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Python編程利用科赫曲線實現(xiàn)三維飄雪效果示例過程

    Python編程利用科赫曲線實現(xiàn)三維飄雪效果示例過程

    這篇文章主要介紹了Python編程實現(xiàn)三維飄雪效果示例過程,通過本示例你可以自己做出一個浪漫的雪花飄落效果,有需要的朋友可以借鑒參考下
    2021-10-10
  • 關(guān)于Numpy生成數(shù)總結(jié)(隨機(jī)整數(shù)randint,固定步長arange,分布)

    關(guān)于Numpy生成數(shù)總結(jié)(隨機(jī)整數(shù)randint,固定步長arange,分布)

    這篇文章主要介紹了關(guān)于Numpy生成數(shù)總結(jié)(隨機(jī)整數(shù)randint,固定步長arange,分布),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評論