中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python OpenCV對圖像進行模糊處理流程是什么

發布時間:2021-10-22 13:36:22 來源:億速云 閱讀:201 作者:iii 欄目:開發技術

這篇文章主要介紹“Python OpenCV對圖像進行模糊處理流程是什么”,在日常操作中,相信很多人在Python OpenCV對圖像進行模糊處理流程是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python OpenCV對圖像進行模糊處理流程是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

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

均值濾波

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

  • src: 原圖像

  • ksize: 模糊核大小

原理:它只取內核區域下所有像素的平均值并替換中心元素。3x3 標準化的盒式過濾器如下所示:

Python OpenCV對圖像進行模糊處理流程是什么

  • 特征:核中區域貢獻率相同。

  • 作用:對于椒鹽噪聲的濾除效果比較好。

# -*-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):
    """
    圖像卷積操作:設置卷積核大小,步距
    :param image_path:
    :return:
    """
    img = cv.imread(image_path, cv.IMREAD_COLOR)
    cv.imshow('input', img)
    # 模糊操作(類似卷積),第二個參數ksize是設置模糊內核大小
    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)

結果展示:

Python OpenCV對圖像進行模糊處理流程是什么

高斯濾波

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

說明:sigmaX,sigmaY分別表示 X,Y 方向的標準偏差。如果僅指定了sigmaX,則sigmaYsigmaX相同;如果兩者都為零,則根據內核大小計算它們。

  • 特征:核中區域貢獻率與距離區域中心成正比,權重與高斯分布相關。

  • 作用:高斯模糊在從圖像中去除高斯噪聲方面非常有效。

def image_conv(image_path: str):
    """
    高斯模糊
    :param image_path:
    :return:
    """
    img = cv.imread(image_path, cv.IMREAD_COLOR)
    cv.imshow('img', img)
    # 高斯卷積(高斯濾波), 可以設置ksize,必須為奇數,不為0時,后面的步驟不起作用;也可以設置成(0,0),然后通過sigmaX和sigmaY計算標準偏差
    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)

結果展示:

Python OpenCV對圖像進行模糊處理流程是什么

高斯雙邊濾波

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

說明:d為鄰域直徑,sigmaColor為空間高斯函數標準差,參數越大,臨近像素將會在越遠的地方越小。

sigmaSpace灰度值相似性高斯函數標準差,參數越大,那些顏色足夠相近的的顏色的影響越大。

雙邊濾波是一種非線性的濾波方法,是結合圖像的空間鄰近度和像素值相似度的一種折衷處理,同時考慮空間與信息和灰度相似性,達到保邊去噪的目的,具有簡單、非迭代、局部處理的特點。之所以能夠達到保邊去噪的濾波效果是因為濾波器由兩個函數構成:一個函數是由幾何空間距離決定濾波器系數,另一個是由像素差值決定濾波器系數。

  • 特征:處理耗時。

  • 作用:在濾波的同時能保證一定的邊緣信息。

# 邊緣保留濾波器——高斯雙邊模糊
def image_bifilter(image_path: str):
    """
    高斯雙邊模糊
    :param image_path: 圖片文件
    :return: 無返回值
    """
    img = cv.imread(image_path, cv.IMREAD_COLOR)
    cv.imshow('input', img)
    # 第三個參數是設置色彩、第四個參數是設置圖像坐標
    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)

結果展示:

Python OpenCV對圖像進行模糊處理流程是什么

到此,關于“Python OpenCV對圖像進行模糊處理流程是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

华宁县| 贵定县| 南岸区| 鹿泉市| 绥宁县| 大渡口区| 金塔县| 佛坪县| 南澳县| 金湖县| 卢龙县| 梧州市| 江阴市| 新丰县| 新竹县| 汾西县| 德州市| 喜德县| 商南县| 乌鲁木齐市| 龙泉市| 双桥区| 汨罗市| 鹤壁市| 南靖县| 池州市| 元氏县| 海原县| 江孜县| 临湘市| 鄂伦春自治旗| 湛江市| 利津县| 耿马| 揭阳市| 勃利县| 永济市| 凭祥市| 搜索| 广饶县| 大英县|