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()


 

猜你喜欢

转载自blog.csdn.net/mnhdxhcky/article/details/81206046