opencv+python 高斯模糊


import cv2 as cv
import numpy as np


def clamp(pv):
"""防止顏色值超出顏色取值范圍(0-255)"""
if pv>255:
return 255
if pv<0:
return 0
else:
return pv

def gaussian_noise(image):
"""高斯噪聲"""
h,w,c=image.shape
for row in range(h):
for col in range(w):
#獲取三個高斯隨機數
#第一個參數:概率分布的均值,對應着整個分布的中心
#第二個參數:概率分布的標准差,對應於分布的寬度
#第三個參數:生成高斯隨機數數量
s=np.random.normal(0,5,3)
#獲取每個像素點的bgr值
b=image[row,col,0]
g = image[row, col, 1]
r = image[row, col, 2]
#給每個像素值設置新的bgr值
image[row,col,0]=clamp(b+s[0])
image[row, col, 0] = clamp(g + s[1])
image[row, col, 0] = clamp(r + s[2])
cv.imshow("noise",image)


#讀入圖片文件
src=cv.imread('D:/pycharm/pycharmproject/test.jpg')
cv.imshow("src",src)
# gaussian_noise(src)
#給圖片創建毛玻璃特效
#第二個參數:高斯核的寬和高(建議是奇數)
#第三個參數:x和y軸的標准差
dst=cv.GaussianBlur(src,(5,5),15)
cv.imshow("gaussian",dst)
cv.waitKey(0)
cv.destroyAllWindows()


免責聲明!

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



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