20210829opencv基本操作之平滑、滤波处理

平滑处理

所谓平滑处理,就是利用一系列滤波操作对二值图像进行滤波处理,得到不同结果的图像
首先要导入的包

import cv2
import matplotlib.pyplot as plt
import numpy as np

(个人理解:滤波操作和深度学习卷积差不多,都是对应点相乘再相加)

  1. 均值滤波:cv2.blur,去掉噪音点
  2. 方框滤波:cv2.boxFilter,和均值滤波一样,要选择归一化,否则容易越界
  3. 高斯滤波:cv2.GaussianBlur,比较常见,对中心值比较敏感
  4. 中值滤波:cv2.medianBlur
    上代码:
    img=cv2.imread('p1.jpg')#.jpg表示图片格式,其他有些格式也可以这里放入图片的绝对路径
    cv2.imshow('im2', img)
    #均值滤波.去掉噪音点,简单平均卷积操作
    blur=cv2.blur(img,(3,3))
    cv2.imshow('blur',blur)
    #方框滤波,和均值滤波一样,可以选择归一化
    box=cv2.boxFilter(img,-1,(3,3), normalize=True)
    box2=cv2.boxFilter(img,-1,(3,3), normalize=False)#不归一化,容易越界
    cv2.imshow('box',box)
    cv2.imshow('box2',box2)
    #高斯滤波,模糊的卷积核数值是否满足高斯分布,相当于更重视中间的
    gaussian=cv2.GaussianBlur(img,(5,5),1)
    cv2.imshow('gaussian',gaussian)
    #中值滤波,用中值代替
    median=cv2.medianBlur(img,5)
    cv2.imshow('median',median)
    #展示所有的
    res=np.hstack((blur,gaussian,median))
    print(res)
    cv2.imshow("median vs average",res)
    cv2.waitKey(0)  # 等待时间,毫秒版。0表示任意键终止
    cv2.destroyWindow()

上原图
图片绝对路径
关于读取的原图片,本人是直接放到和.py文件同一个路径的,也可以直接复制绝对路径,到图片–>>右击–>>属性找到得到最后结果,像这样,原图的绝对路径就是’E:\open‘
在这里插入图片描述
那么读取代码就是

img=cv2.imread('E:\open\p1.jpg')

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值