Python-OpenCV中的图像模糊

Posted chenzhen0530

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-OpenCV中的图像模糊相关的知识,希望对你有一定的参考价值。


? 主要记录Python-OpenCV中的图像模糊操作;


1. 高斯模糊:cv2.GaussianBlur()

def GaussianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType=None):
"""
使用高斯滤波器模糊图像
Argument:
    src: 原图像
    dst: 目标图像
    ksize: 高斯核的大小;(width, height);两者都是正奇数;如果设为0,则可以根据sigma得到;
    sigmaX: X方向的高斯核标准差;
    sigmaY: Y方向的高斯核标准差;
        如果sigmaY设为0,则与sigmaX相等;
        如果两者都为0,则可以根据ksize来计算得到;
    (推荐指定ksize,sigmaX,sigmaY)
    borderType: pixel extrapolation method
"""

使用:

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# @Time    : 19-4-20 下午4:27
# @Author  : chen

import cv2
import matplotlib.pyplot as plt

# BGR
lena_BGR = cv2.imread("./lena.png")
plt.subplot(1, 3, 1)
plt.imshow(lena_BGR)
plt.axis('off')
plt.title('lena')

# RGB
lena_RGB = cv2.cvtColor(lena_BGR, cv2.COLOR_BGR2RGB) # 颜色空间转换
plt.subplot(1, 3, 2)
plt.imshow(lena_RGB)
plt.axis('off')
plt.title('lena_RGB')

# RGB + GaussianBlur
lena_gaussian_blur = cv2.GaussianBlur(lena_RGB, (5, 5), 1, 0)  # 高斯模糊
plt.subplot(1, 3, 3)
plt.imshow(lena_gaussian_blur)
plt.axis('off')
plt.title('lena_gaussian_blur')

plt.show()

技术图片

以上是关于Python-OpenCV中的图像模糊的主要内容,如果未能解决你的问题,请参考以下文章

[python-opencv] 模糊操作

Python-OpenCV中的图像轮廓检测

用Python-OpenCV提取图像中的感兴趣区域以及图像的深拷贝和浅拷贝问题附示例代码

Python-OpenCV中的cv2.threshold

Python-OpenCV中的filter2D()函数

Python-OpenCV 中的绘图函数