日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

python+opencv圖像處理(二十二)

 pythonjava學(xué)習(xí) 2021-04-06

中值濾波

中值濾波是比較常用的一種圖像平滑處理方法。
其基本思路是通過(guò)濾波器遍歷圖像,取濾波器區(qū)域像素值中值為新的像素值。
表示為數(shù)學(xué)表達(dá)式如下:
其中,f(x,y)g(x,y)分別是原圖像和處理后圖像,(x,y),(s,t)均為像素點(diǎn)坐標(biāo)。
如果是(3*3)的模板,就是對(duì)這3*3個(gè)像素點(diǎn)的值進(jìn)行排序,(x,y)取值為排序之后的中值。
可以用opencv自帶的函數(shù)medianBlur()實(shí)現(xiàn)中值濾波,代碼如下:
其運(yùn)行結(jié)果如下,左圖為加了噪聲的原圖,右圖為中值濾波后的圖。

從上圖可看出,中值濾波可以有效地消除噪聲,并且相對(duì)于均值濾波,它能夠更好地保護(hù)邊緣信息,圖像的視覺(jué)效果更好。
當(dāng)然,也可以逐像素點(diǎn)對(duì)圖像進(jìn)行運(yùn)算,來(lái)求得中值并進(jìn)行賦值,代碼如下圖所示:
代碼中用到了自定義的函數(shù)如下:
其中paixu()是對(duì)序列a進(jìn)行從大到小的排序,median()是求序列a的中值,twotoone()是將列表從二維降到一維,這三個(gè)自定義的函數(shù)的目的都是為了求中值。
可能有更好的辦法,只是我沒(méi)有找到python或者numpy中自帶的求中值的函數(shù),只能自己寫(xiě)了。
其運(yùn)行結(jié)果如下:

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多