python -opencv 照片的模糊处理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


模糊处理

模糊分为均值模糊,中值模糊,高斯模糊,其中中值模糊和高斯模糊可以对图片进行降噪处理,高斯模糊处理的更加好一点。


提示:以下是本篇文章正文内容,下面案例可供参考

一、均值模糊

import cv2 as cv
import numpy as np


def blur_demo(image):
    dst = cv.blur(image,(5,5))          # 前面代表竖直方向后面代表代表水平方向 均值模糊
    cv.imshow("blur_demo",dst)


src=cv.imread("D:\\123qwe.png")
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
cv.imshow("input image",src)
blur_demo(src)
cv.waitKey(0)


cv.destroyAllWindows()

以上就是均值模糊的代码。https://blog.csdn.net/Vici__/article/details/102476784

二、中值模糊

代码如下(示例):

import cv2 as cv
import numpy as np


def median_blur_demo(image):
    dst = cv.medianBlur(image, 5)           #中值模糊,可以对图片进行降噪
    cv.imshow("dedian_blur_demo",dst)


src=cv.imread("D:\\123qwe.png")
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
cv.imshow("input image",src)
median_blur_demo(src)
cv.waitKey(0)


cv.destroyAllWindows()

以上就是中值模糊的代码。https://blog.csdn.net/Vici__/article/details/102476784

三、自定义模糊

代码如下(示例):

import cv2 as cv
import numpy as np


def custom_blur_demo(image):
    kernel = np.ones([5,5],np.float32)/25
    dst = cv.filter2D(image, -1, kernel=kernel) # 自定义一个(55)
    cv.imshow("dedian_blur_demo",dst)

src=cv.imread("D:\\123qwe.png")
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
cv.imshow("input image",src)
custom_blur_demo(src)
cv.waitKey(0)


cv.destroyAllWindows()

以上就是自定义模糊的代码。https://blog.csdn.net/Vici__/article/details/102476784

四、高斯模糊及添加高斯噪音

代码如下(示例):

import cv2 as cv
import numpy as np


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


def guassian_noise(image):
    h,w,c = image.shape
    for row in range(h):
        for col in range(w):
            s = np.random.normal(0,20,3)
            b = image[row, col, 0] # blue
            g = image[row, col, 1] # green                      #给图片添加高斯噪音
            r = image[row, col, 2] # red
            image[row, col, 0] = clamp(b + s[0])
            image[row, col, 1] = clamp(g + s[1])
            image[row, col, 2] = clamp(r + s[2])
    cv.imshow("nosize iamge",image)

src=cv.imread("D:\\123qwe.png")
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
cv.imshow("input image",src)
dst = cv.GaussianBlur(src,(5, 5), 15) #高斯模糊结果    先给图片加高斯噪音对高斯模糊没有影响  55的高斯模糊
cv.imshow("Gaussian Blur",dst)
guassian_noise(src)
cv.waitKey(0)


cv.destroyAllWindows()

以上就是高斯模糊的代码。https://blog.csdn.net/Vici__/article/details/102476784


总结

提示:以上就是Python opencv 的模糊操作和代码,在实现结果的时候会先安装库。如果Pycharma安装失败的话,就用Anaconda的命令行来进行安装。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值