python+opencv自建二维滤波器进行卷积滤波

46 篇文章 2 订阅
19 篇文章 2 订阅

这里写图片描述

#! usr/bin/env python
# coding: utf-8

########     自己创建一个二维卷积滤波器(5*5)    #########
import numpy as np
import cv2
import matplotlib.pyplot as plt

img = cv2.imread('cat.jpg',0)

kernel = np.ones((5,5), np.float32)/25
# 这里用numpy创建一个5*5的单位阵,ones表示这是单位阵,np.float32表示数据的格式是浮点32型。
# 最后单位阵的每个元素再除以25(5*5),整个滤波器表示对一个5*5的矩阵上的数进行平均求和。

dst = cv2.filter2D(img, -1, kernal)
# 用一个像素点周围及其本身在内的25个点的像素平均值代替其本身。
# 也就是以一个像素点为中心的边长为5的正方形区域内像素值的平均值代替原有像素值

titles = ['srcImg','convImg']
imgs = [img, dst]

# 画图进行展示
for i in range(2):
    plt.subplot(1,2,i+1)
    plt.imshow(imgs[i], 'gray')
    plt.title(titles[i])
plt.show()
#### 可从图中看出,卷积滤波的方式会弱化边缘,使得边缘不那么清晰。
#### 去噪可以理解为降低图像获取过程中的随机因素
# 从另一方面来讲,去噪使图像内一个局部区域的像素趋于相同

结果展示

注意需要自己添加自己的图片文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值