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

python圖像平滑處理原理

 更新時間:2022年06月14日 15:02:47   作者:ONEFPGA  
這篇文章主要介紹了python圖像平滑處理原理,圖像濾波是圖像處理和計算機視覺中最常用、最基本的操作,文章基于python的相關(guān)資料展開詳細(xì)的內(nèi)容需要的小伙伴可以參考一下

前言:

圖像濾波是圖像處理和計算機視覺中最常用、最基本的操作。主要是去除圖像中的噪聲,因為圖像平滑處理過程中往往會使得圖像變的模糊,因此又叫模糊處理。

基本原理

  • 圖像平滑的基本原理是,將噪聲所在像素點的像素值處理為其周圍臨近像素點的值的近似值。
  • 圖像平滑處理的方法有很多,比如均值濾波,方框濾波,高斯濾波,中值濾波,雙邊濾波。

(這里就不講公式推導(dǎo)了)

1均值濾波

在進(jìn)行均值濾波的時候要考慮需要對周圍多少個像素去平均值,即確定核 的大小,通常情況下都是以當(dāng)前像素點為中心,讀行數(shù)和列數(shù)相等的一塊區(qū)域內(nèi)的所有像素點求平均。將計算得到的結(jié)果作為該點的像素。

原始圖像像素

當(dāng)前像素點為226的位置,我們對其周圍5x5區(qū)域內(nèi)像素點求平均計算方法為:

新值=(197+25+106+156+159+149+40+107+5+71+163+198+226+223+156+222+37+68+233+157+75+193+250+2+42)/25

計算得到的新值即為226像素點位置的新的像素。

其中均值濾波的核如下所示:

1.1函數(shù)語法

在OpenCV中,實現(xiàn)均值濾波的函數(shù)是cv2.blur(),語法格式如下:

dst=cv2.blur(src,ksize,anchor,borderType)
  • dst是返回值,表示進(jìn)行均值濾波后得到的結(jié)果
  • src是需要處理的圖像,即原始圖像,圖像的深度有CV_8U,CV_16U,CV16S,CV32F,CV_64F.
  • ksize是核 的大小,
  • anchor是錨點,一般情況該值直接默認(rèn)即可
  • borderType是邊界樣式,該值決定以何種方式處理邊界,一般情況下不需要考慮該值的取值,直接默認(rèn)即可。

因此函數(shù)cv2.blur()的一般形式為:

dst=cv2.blur(src,ksize)

接下來看一段程序:

import cv2 as cv
img=cv.imread(r'F:\AI\photo\test\lena.jpg')
blurImg=cv.blur(img,(5,5))
print('imgshape',img.shape)
print('blurImg',blurImg.shape)
cv.imshow('img',img)
cv.imshow('blurImg',blurImg)
cv.waitKey()
cv.destroyAllWindows()

 原始圖像:

均值濾波后的圖像 

2.高斯濾波

均值濾波中,其鄰域內(nèi)每個像素的權(quán)重都是一樣的,在高斯濾波中,中心點的權(quán)重值加大,遠(yuǎn)離中心點的權(quán)重值減少,在此基礎(chǔ)上計算鄰域內(nèi)各個像素值不同權(quán)重的和。

高斯濾波卷積核示例

2.1函數(shù)語法

dst=cv2.GaussianBlur(src,ksize,sigmaX,sigmaY,borderType)

式中:

  • dst為高斯濾波后得到的結(jié)果
  • src是需要處理的圖像,
  • ksize是濾波卷積核。需要注意的是濾波核 的值必須是奇數(shù)
  • sigmaX是卷積在水平方向的標(biāo)準(zhǔn)差,或者X方向求導(dǎo)
  • sigmaY是卷積在垂直方向的標(biāo)準(zhǔn)差,或者說Y方向上
  • bordenType是邊界類型

因此高斯濾波的一般形式為:

dst=cv2.GaussianBlur(src,ksize,0,0)

程序演示:

import cv2 as cv
img=cv.imread(r'F:\AI\photo\test\lena.jpg')
GS_blurImg=cv.GaussianBlur(img,(5,5),1,1)
print('imgshape',img.shape)
print('blurImg',GS_blurImg.shape)
cv.imshow('img',img)
cv.imshow('GS_blurImg',GS_blurImg)
cv.waitKey()
cv.destroyAllWindows()

相比原始圖像,高斯濾波處理后的圖像模糊了一些,但是相對于均值濾波來說,要好一些,這是因為高斯濾波卷積核在中心點的權(quán)重更高。

3.中值濾波

中值濾波就是將當(dāng)前像素點及其鄰域內(nèi)的像素點排序后取中間值作為當(dāng)前值的像素點。

中值濾波的處理過程為:將226像素點周期的8個像素點一起排序即5,37,40,68,107,198,223,223,226,所以226像素點的新 的像素值為107.

3.1函數(shù)語法

dscv2.medianBlur(src,ksize)

其中需要注意的是ksize核的大小必須是比1大的奇數(shù),比如3,5,7等

import cv2 as cv
img=cv.imread(r'F:\AI\photo\test\lena.jpg')
medianblurImg=cv.medianBlur(img,5)
cv.imshow('img',img)
cv.imshow('medianblurImg',medianblurImg)
cv.waitKey()
cv.destroyAllWindows()

在中值濾波處理中,噪聲成分很難被選中,所以可以在幾乎不影響原有圖像的情況下去除所有的噪聲,但是由于需要進(jìn)行排序等操作,中值濾波需要的運算較大。中值濾波對椒鹽噪聲去除效果較明顯,下次補充,還有雙邊濾波以及方框濾波后面補充。 

到此這篇關(guān)于python圖像平滑處理原理的文章就介紹到這了,更多相關(guān)python 圖像平滑處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • .dcm格式文件軟件讀取及python處理詳解

    .dcm格式文件軟件讀取及python處理詳解

    今天小編就為大家分享一篇.dcm格式文件軟件讀取及python處理詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python之打印日志庫(logging)

    Python之打印日志庫(logging)

    這篇文章主要介紹了Python之打印日志庫(logging),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python淺析匿名函數(shù)lambda的用法

    Python淺析匿名函數(shù)lambda的用法

    lambda所表示的匿名函數(shù)的內(nèi)容應(yīng)該是很簡單的,如果復(fù)雜的話,干脆就重新定義一個函數(shù)了,使用lambda就有點過于執(zhí)拗了。lambda就是用來定義一個匿名函數(shù)的,如果還要給他綁定一個名字的話,就會顯得有點畫蛇添足,通常是直接使用lambda函數(shù)
    2022-07-07
  • Python基礎(chǔ)學(xué)習(xí)之類與實例基本用法與注意事項詳解

    Python基礎(chǔ)學(xué)習(xí)之類與實例基本用法與注意事項詳解

    這篇文章主要介紹了Python基礎(chǔ)學(xué)習(xí)之類與實例基本用法與注意事項,結(jié)合實例形式詳細(xì)分析了Python面相對象程序設(shè)計中關(guān)于類的定義與實例化對象相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2019-06-06
  • 如何利用Pytorch計算三角函數(shù)

    如何利用Pytorch計算三角函數(shù)

    這篇文章主要介紹了如何利用Pytorch計算三角函數(shù),文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • python xml模塊的簡單使用

    python xml模塊的簡單使用

    這篇文章主要介紹了python xml模塊的簡單使用,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • Python爬蟲爬取電影票房數(shù)據(jù)及圖表展示操作示例

    Python爬蟲爬取電影票房數(shù)據(jù)及圖表展示操作示例

    這篇文章主要介紹了Python爬蟲爬取電影票房數(shù)據(jù)及圖表展示操作,結(jié)合實例形式分析了Python爬蟲爬取、解析電影票房數(shù)據(jù)并進(jìn)行圖表展示操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2020-03-03
  • python Pandas時序數(shù)據(jù)處理

    python Pandas時序數(shù)據(jù)處理

    這篇文章主要介紹了python Pandas時序數(shù)據(jù)處理,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • Python中type的構(gòu)造函數(shù)參數(shù)含義說明

    Python中type的構(gòu)造函數(shù)參數(shù)含義說明

    這篇文章主要介紹了Python中type的構(gòu)造函數(shù)參數(shù)含義說明,本文用一個編碼實例解釋Python type的參數(shù)的作用和含義,需要的朋友可以參考下
    2015-06-06
  • python刪除列表內(nèi)容

    python刪除列表內(nèi)容

    這里給大家通過2個例子,分析了下如何使用python刪除列表內(nèi)容,也給出了思路,分別通過pop和remove方法來實現(xiàn),有相關(guān)需求的小伙伴可以參考下。
    2015-08-08

最新評論