使用Opencv(Python)實(shí)現(xiàn)圖像模糊

圖像模糊的方法

  • 均值濾波(對(duì)高斯隨機(jī)噪聲有一定的抑制作用)---cv.blur()
  • 中值濾波(對(duì)椒鹽噪聲有很好的抑制作用)---cv.median_blur()
  • 高斯濾波(對(duì)高斯隨機(jī)噪聲有很好的抗性)---cv.gaussian_blur()

實(shí)現(xiàn)部分(均值濾波)

  • 均值濾波cv.blur()
image = cv.blur(image,(5,5))    #cv.blur(src, ksize, dst=None, anchor=None, borderType=None)

效果(均值濾波)

image.png

image.png

實(shí)現(xiàn)部分(中值濾波)

cv.median_blur(image, 5) #medianBlur(src, ksize, dst=None)

效果(中值濾波)

image.png

image.png

實(shí)現(xiàn)部分(高斯濾波)

cv.GaussianBlur(image,(5,5),0)  #GaussianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType=None)

高斯噪聲的制作

def clamp(pv):
    if pv > 255 :
        return 255
    if pv <0
        return 0
    else :
        return pv


def Gaussian_noise_demo(image):
    h, w, c = image.shape
    for row in range(h):
        for col in range(w):
            gn = np.random.normal(0,30,4)
            b = image[row, col, 0]
            g = image[row, col, 1]
            r = image[row, col, 2]
            image[row, col, 0] = clamp(b + gn[0])
            image[row, col, 1] = clamp(g + gn[1])
            image[row, col, 2] = clamp(r + gn[2])
    cv.imshow("Gaussian_noise",image)

高斯噪聲的制作的效果:

原圖:


image.png

高斯噪聲圖:


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容