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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM