1. 程式人生 > >python_opencv (模糊操作)剛接觸的小菜雞

python_opencv (模糊操作)剛接觸的小菜雞

0.剛剛接觸,如有不對請大家指正。

1.均值模糊 中值模糊 自定義模糊
2.模糊是卷積的一種表象  :查卷積原理!!!查到了,受益匪淺

https://blog.csdn.net/zouxy09/article/details/49080029

3.椒鹽噪聲以及中值濾波:

椒鹽噪聲是影象中一種常見的噪聲。它是一種隨機出現的白點或者黑點,可能是亮的區域有黑色畫素或是在暗的區域有白色畫素(或是兩者皆有)。噪聲對於影象識別,特徵提取帶來困難。所以需要進行濾波處理,去除噪聲

新增噪聲程式碼:

import cv2 as cv
import numpy as np


def Add_salt(image):     #
    SNR=0.2   #知名信噪比
    size=image.size
    n=int(size-(1-SNR))
    for i in range (0,n):
        xi=int(np.random.random()*image.shape[1])
        yj=int(np.random.random()*image.shape[0])
        if (image.ndim==2):    #二維的
            image[yj,xi]=255
        elif(image.ndim==3):
            image[yj,xi]=0
    cv.imshow('Add_salt',image)


print('---Hello Python-----')
src=cv.imread('E:/aaaxuexi/python_z/zhanglaoshi/lianxi/liuyifei.jpg')
cv.imshow('xiaojiejie',src)
Add_salt(src)
cv.waitKey(0)
cv.destroyAllWindows()

 

哭唧唧。。。。。變成這樣我也十分不願意

模糊程式碼:
import cv2 as cv
import numpy as np

def blur_demo(image):               #均值模糊
    dst=cv.blur(image,(5,5))   #模糊處理  image,先水平,後垂直(5,5)最常用
    cv.imshow("blur_demo",dst)


def median_blur_demo(image):    #通過中值模糊比均值濾波可以更好的去掉椒鹽噪聲
    dst=cv.medianBlur(image,5)   #模糊處理  image,先水平,後垂直(5,5)最常用
    cv.imshow("median_blur_demo",dst)


def custom_blur_demo(image):                     #自定義
    #kernel=np.ones([5,5],np.float32)/25                    #保證不會溢位
    kernel=np.array([[0,-1,0],[-1,5,-1],[0,-1,0]],np.float32)   #銳化
    dst=cv.filter2D(image,-1,kernel)
    cv.imshow('custom_blur_demo',dst)


print('---Hello Python-----')
src=cv.imread('E:/aaaxuexi/python_z/zhanglaoshi/lianxi/liuyifei.jpg')
cv.imshow('xiaojiejie',src)
blur_demo(src)      #時間很快
cv.waitKey(0)
cv.destroyAllWindows()