您的位置:首页 > 编程语言 > Python开发

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

2016-12-07 00:00 253 查看
摘要: OpenCV图像均值滤波,高斯滤波,双边滤波
代码地址:https://github.com/juxiangwu/tensorflow-learning/tree/master/opencv

# -*- 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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息