OpenCV3.3+Python3.6實(shí)現(xiàn)圖片高斯模糊
本文實(shí)例為大家分享了OpenCV3.3+Python3.6實(shí)現(xiàn)圖片高斯模糊的具體代碼,供大家參考,具體內(nèi)容如下
高斯模糊
高斯模糊(英語:Gaussian Blur),通常用它來減少圖像噪聲以及降低細(xì)節(jié)層次。這種模糊技術(shù)生成的圖像,其視覺效果就像是經(jīng)過一個(gè)半透明屏幕在觀察圖像,這與鏡頭焦外成像效果散景以及普通照明陰影中的效果都明顯不同。高斯模糊也用于計(jì)算機(jī)視覺算法中的預(yù)先處理階段,以增強(qiáng)圖像在不同比例大小下的圖像效果(參見尺度空間表示以及尺度空間實(shí)現(xiàn))。 從數(shù)學(xué)的角度來看,圖像的高斯模糊過程就是圖像與正態(tài)分布做卷積。由于正態(tài)分布又叫作高斯分布,所以這項(xiàng)技術(shù)就叫作高斯模糊。圖像與圓形方框模糊做卷積將會(huì)生成更加精確的焦外成像效果。由于高斯函數(shù)的傅立葉變換是另外一個(gè)高斯函數(shù),所以高斯模糊對于圖像來說就是一個(gè)低通濾波器。
高斯模糊原理: “模糊”,就是將圖像中每個(gè)像素值進(jìn)行重置的過程,這個(gè)過程采用將每一個(gè)像素都設(shè)置成周邊像素的平均值。
# 高斯模糊# 高斯模糊# 操作# cv2.GaussianBlur(image, (135, 135), 0) #(5, 5)表示高斯矩陣(高斯內(nèi)核)的長與寬都是5(必須為奇數(shù)),標(biāo)準(zhǔn)差取0 import cv2import numpy as np def clamp(pv): #保證 RGB三色值的數(shù)值不超過255 if pv>255:return 255 if pv<0:return 0 else:return pv def gaussian_noise(image): #給圖片加一些噪聲,高斯噪聲 h, w, c = image.shape #獲取三個(gè)值,高度、寬度、深度 for row in range(h): #在寬度、 高度中遍歷進(jìn)行像素點(diǎn)RGB的賦值for col in range(w): s=np.random.normal(0, 20, 3) #獲取隨機(jī)數(shù) 3個(gè)數(shù)的數(shù)組 b = image[row, col, 0] # blue 原來的藍(lán)色值 g = image[row, col, 1] # green r = image[row, col, 2] # red image[row, col, 0] = clamp(b + s[0]) #加上處理賦值 image[row, col, 1] = clamp(g + s[1]) image[row, col, 2] = clamp(r + s[2]) cv2.imshow('Gauss_noise', image) print('--------Hello Python--------')src=cv2.imread('lena.jpg')cv2.imshow('Source Image',src)t1=cv2.getTickCount()#獲取時(shí)間值gaussian_noise(src)t2=cv2.getTickCount()#獲取時(shí)間值time=(t2-t1)/cv2.getTickFrequency()#計(jì)算出時(shí)間(s)print('所用時(shí)間:%s'%(time*1000)) dst = cv2.GaussianBlur(src, (2555,2555), 15)#進(jìn)行高斯模糊處理cv2.imshow('Gauss_blur',dst) cv2.waitKey(0)cv2.destroyAllWindows()
(1)原圖:
(2)高斯噪聲圖片
(3)高斯模糊效果
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. xml文件的結(jié)構(gòu)解讀第1/2頁2. jsp實(shí)現(xiàn)局部刷新頁面、異步加載頁面的方法3. Jsp中request的3個(gè)基礎(chǔ)實(shí)踐4. SSM框架整合JSP中集成easyui前端ui項(xiàng)目開發(fā)示例詳解5. python線性插值解析6. PHP連接MySQL數(shù)據(jù)庫操作代碼實(shí)例解析7. Python requests模塊session代碼實(shí)例8. JSP 中request與response的用法詳解9. 詳解java CountDownLatch和CyclicBarrier在內(nèi)部實(shí)現(xiàn)和場景上的區(qū)別10. python文件讀取失敗怎么處理
