最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python OpenCV對(duì)圖像進(jìn)行模糊處理詳解流程

 更新時(shí)間:2021年10月22日 11:33:25   作者:Hong_Youth  
OpenCV是一個(gè)基于BSD許可(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語(yǔ)言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面很多通用算法

其實(shí)我們平時(shí)在深度學(xué)習(xí)中所說(shuō)的卷積操作,在 opencv 中也可以進(jìn)行,或者說(shuō)是類似操作。那么它是什么操作呢?它就是圖像的模糊(濾波)處理。

均值濾波

使用 opencv 中的cv2.blur(src, ksize)函數(shù)。其參數(shù)說(shuō)明是:

  • src: 原圖像
  • ksize: 模糊核大小

原理:它只取內(nèi)核區(qū)域下所有像素的平均值并替換中心元素。3x3 標(biāo)準(zhǔn)化的盒式過(guò)濾器如下所示:

3×3標(biāo)準(zhǔn)過(guò)濾器

  • 特征:核中區(qū)域貢獻(xiàn)率相同。
  • 作用:對(duì)于椒鹽噪聲的濾除效果比較好。
# -*-coding:utf-8-*-
"""
File Name: image_deeplearning.py
Program IDE: PyCharm
Date: 2021/10/17
Create File By Author: Hong
"""
import cv2 as cv


def image_blur(image_path: str):
    """
    圖像卷積操作:設(shè)置卷積核大小,步距
    :param image_path:
    :return:
    """
    img = cv.imread(image_path, cv.IMREAD_COLOR)
    cv.imshow('input', img)
    # 模糊操作(類似卷積),第二個(gè)參數(shù)ksize是設(shè)置模糊內(nèi)核大小
    result = cv.blur(img, (5, 5))
    cv.imshow('result', result)

    cv.waitKey(0)
    cv.destroyAllWindows()


if __name__ == '__main__':
    path = 'images/2.png'
    image_blur(path)

結(jié)果展示:

均值濾波

高斯濾波

高斯濾波使用的是cv2.GuassianBlur(img, ksize,sigmaX,sigmaY)函數(shù)。

說(shuō)明:sigmaX,sigmaY分別表示 X,Y 方向的標(biāo)準(zhǔn)偏差。如果僅指定了sigmaX,則sigmaYsigmaX相同;如果兩者都為零,則根據(jù)內(nèi)核大小計(jì)算它們。

  • 特征:核中區(qū)域貢獻(xiàn)率與距離區(qū)域中心成正比,權(quán)重與高斯分布相關(guān)。
  • 作用:高斯模糊在從圖像中去除高斯噪聲方面非常有效。
def image_conv(image_path: str):
    """
    高斯模糊
    :param image_path:
    :return:
    """
    img = cv.imread(image_path, cv.IMREAD_COLOR)
    cv.imshow('img', img)
    # 高斯卷積(高斯濾波), 可以設(shè)置ksize,必須為奇數(shù),不為0時(shí),后面的步驟不起作用;也可以設(shè)置成(0,0),然后通過(guò)sigmaX和sigmaY計(jì)算標(biāo)準(zhǔn)偏差
    result = cv.GaussianBlur(img, (0, 0), 15)
    cv.imshow('result', result)

    cv.waitKey(0)
    cv.destroyAllWindows()


if __name__ == '__main__':
    path = 'images/2.png'
    image_conv(path)

結(jié)果展示:

高斯濾波

高斯雙邊濾波

雙邊濾波(模糊)使用的是cv2.bilateralFilter(img,d, sigmaColor, sigmaSpace)函數(shù)。

說(shuō)明:d為鄰域直徑,sigmaColor為空間高斯函數(shù)標(biāo)準(zhǔn)差,參數(shù)越大,臨近像素將會(huì)在越遠(yuǎn)的地方越小。

sigmaSpace灰度值相似性高斯函數(shù)標(biāo)準(zhǔn)差,參數(shù)越大,那些顏色足夠相近的的顏色的影響越大。

雙邊濾波是一種非線性的濾波方法,是結(jié)合圖像的空間鄰近度和像素值相似度的一種折衷處理,同時(shí)考慮空間與信息和灰度相似性,達(dá)到保邊去噪的目的,具有簡(jiǎn)單、非迭代、局部處理的特點(diǎn)。之所以能夠達(dá)到保邊去噪的濾波效果是因?yàn)闉V波器由兩個(gè)函數(shù)構(gòu)成:一個(gè)函數(shù)是由幾何空間距離決定濾波器系數(shù),另一個(gè)是由像素差值決定濾波器系數(shù)。

  • 特征:處理耗時(shí)。
  • 作用:在濾波的同時(shí)能保證一定的邊緣信息。
# 邊緣保留濾波器——高斯雙邊模糊
def image_bifilter(image_path: str):
    """
    高斯雙邊模糊
    :param image_path: 圖片文件
    :return: 無(wú)返回值
    """
    img = cv.imread(image_path, cv.IMREAD_COLOR)
    cv.imshow('input', img)
    # 第三個(gè)參數(shù)是設(shè)置色彩、第四個(gè)參數(shù)是設(shè)置圖像坐標(biāo)
    result = cv.bilateralFilter(img, 0, 50, 10)
    cv.imshow('result', result)

    cv.waitKey(0)
    cv.destroyAllWindows()


if __name__ == '__main__':
    path = 'images/2.png'
    image_bifilter(path)

結(jié)果展示:

雙邊濾波

到此這篇關(guān)于Python OpenCV對(duì)圖像進(jìn)行模糊處理詳解流程的文章就介紹到這了,更多相關(guān)Python 圖像模糊處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

浮梁县| 格尔木市| 龙陵县| 若尔盖县| 米泉市| 阿拉善右旗| 会宁县| 滕州市| 平昌县| 盐亭县| 宜春市| 大新县| 闵行区| 静乐县| 江口县| 兴安县| 五台县| 秀山| 永年县| 哈巴河县| 台湾省| 南康市| 贵阳市| 滁州市| 顺义区| 宁乡县| 商洛市| 烟台市| 剑川县| 建水县| 闻喜县| 太仓市| 丽水市| 永安市| 舒城县| 朝阳区| 开封县| 郯城县| 万山特区| 雅安市| 苍溪县|