Python OpenCV学习笔记之:图像滤波处理

Stella981
• 阅读 476

# -*- coding: utf-8 -*-

图像滤波

''' 图像处理也支持低通滤波(LPF)和高通滤波(HPF)处理 OpenCV提供filter2D函数对图像进行滤波处理 '''

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

读取图像

img = cv.imread('../../../datas/images/fish.jpg')

滤波Kernel,求平均值

kernel = np.ones((5,5),np.float32) / 25

均值滤波

执行滤波处理,图像将变得模糊

dst = cv.filter2D(img,-1,kernel)

dist = cv.blur(img,(5,5))

# 显示结果

plt.subplot(121)

plt.imshow(img)

plt.title('Original')

plt.xticks([])

plt.yticks([])

plt.subplot(122)

plt.imshow(dst)

plt.title('Averaging')

plt.xticks([])

plt.yticks([])

#plt.show()

cv.imshow("image",img) cv.imshow("Filter-Avg",dst)

高斯滤波

dst = cv.GaussianBlur(img,(5,5),0) cv.imshow("Gaussian Blur",dst)

中值滤波

dst = cv.medianBlur(img,5) cv.imshow("Median Blur",dst)

双边滤波,可以用来做一些简单的美颜处理

dst = cv.bilateralFilter(img,9,75,75) cv.imshow("Bilateral Filter",dst)

cv.waitKey() cv.destroyAllWindows()

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
2年前
tensorflow 之 卷积神经网络
应用场景1.图像识别与检索2.人脸识别3.性别/年龄/情绪识别4.物体检测5.视频处理6.语音分析概述一般一个卷积神经网络由多个卷积层构成,在卷基层内部通常会有如下几个操作:1.图像通过多个卷积核滤波,添加偏置,提取局部特征每个卷积核会映射出一个新的2D图像。2.卷积核的滤波结果输出
Stella981 Stella981
2年前
OpenCV 应用(1)卡尔曼滤波跟踪
0卡尔曼OPENCV预测鼠标位置卡尔曼滤波不要求信号和噪声都是平稳过程的假设条件。对于每个时刻的系统扰动和观测误差(即噪声),只要对它们的统计性质作某些适当的假定,通过对含有噪声的观测信号进行处理,就能在平均的意义上,求得误差为最小的真实信号的估计值。因此,自从卡尔曼滤波理论问世以来,
Stella981 Stella981
2年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Stella981 Stella981
2年前
OpenCV 之 空间滤波
1 空间滤波 1.1 基本概念空间域,在图像处理中,指的是像平面本身;空间滤波,则是在像平面内,对像素值所进行的滤波处理。!(https://oscimg.oschina.net/oscnet/0daafa04976ff550daa79ae366f301bdfac.png)如上图所示,假
Stella981 Stella981
2年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
可莉 可莉
2年前
14、OpenCV实现图像的空间滤波——图像锐化及边缘检测
1、图像锐化理论基础1、锐化的概念   图像锐化的目的是使模糊的图像变得清晰起来,主要用于增强图像的灰度跳变部分,这一点与图像平滑对灰度跳变的抑制正好相反。而且从算子可以看出来,平滑是基于对图像领域的加权求和或者说积分运算的,而锐化则是通过其逆运算导数(梯度)或者说有限差分来实现的。2、图像的一阶微分和二阶
Stella981 Stella981
2年前
Android OpenCV(二十):高斯滤波
高斯滤波高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值
Stella981 Stella981
2年前
Python+OpenCV图像处理之图像梯度
图像梯度可以把图像看成二维离散函数,图像梯度其实就是这个二维离散函数的求导OpenCV提供了三种不同的梯度滤波器,或者说高通滤波器:Sobel,Scharr和Lapacian。Sobel,Scharr其实就是求一阶或二阶导。Scharr是对Sobel的部分优化。Laplacian是求二阶导。python实现importcv2i
Stella981 Stella981
2年前
Android OpenCV(十八):均值滤波
均值滤波均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度g(x,y),即g(x,y)∑f(x,y)/mm为该模板中