Python opencv(六) 高斯模糊

前提條件

使用工具python3.x
使用庫 :numpy、opencv,

api簡介

1.cv.GaussianBlur
對圖片進行高斯模糊,就是對圖像進行平滑的同時,還能夠更多的保留圖像的信息,如總體灰度分佈特徵

代碼示例

import cv2 as cv
import numpy as np

def Clamp(pv):
	if (pv>255):
		return 255
	if (pv<0):
		return 0
	else:
		return pv

def gaussianNoise(image):#增加高斯噪聲
	h, w, c = image.shape
	for row in range(h):
		for col in range(w):
			s = np.random.normal(0,20,3)
			b = image[row, col, 0] #藍色通道
			g = image[row, col, 1] #綠色通道
			r = image[row, col, 2] #紅色通道

			image[row, col, 0] = Clamp(b+s[0])
			image[row, col, 1] = Clamp(g+s[1])
			image[row, col, 2] = Clamp(r+s[2])
	cv.imshow('噪聲 image', image)

src=cv.imread("D:/openCV_image/image/1.png")
# src=cv.imread("D:/openCV_image/image/2_2.png")
# print(src)
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
cv.imshow("input image",src)

# gaussianNoise(src)

#直接進行高斯模糊操作
dst = cv.GaussianBlur(src, (0,0), 15) #(0,0)高斯核:必須爲正數和奇數,或者它們可以是零的。 最後一個參數,表示模糊程度,值越大越模糊
cv.imshow('GaussianBlur', dst)



cv.waitKey(0)
cv.destroyAllWindows()




效果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章