中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

opencv+python實現均值濾波

發布時間:2020-08-29 12:06:20 來源:腳本之家 閱讀:181 作者:油醋三椒 欄目:開發技術

本文實例為大家分享了opencv+python實現均值濾波的具體代碼,供大家參考,具體內容如下

原理

均值濾波其實就是對目標像素及周邊像素取平均值后再填回目標像素來實現濾波目的的方法,當濾波核的大小是3×3 3\times 33×3時,則取其自身和周圍8個像素值的均值來代替當前像素值。
均值濾波也可以看成濾波核的值均為 1 的濾波。
優點:算法簡單,計算速度快;
缺點:降低噪聲的同時使圖像產生模糊,特別是景物的邊緣和細節部分。

代碼

import cv2 as cv
import numpy as np
import math
import copy

def spilt( a ):
 if a/2 == 0:
  x1 = x2 = a/2
 else:
  x1 = math.floor( a/2 )
  x2 = a - x1
 return -x1,x2

def original (i, j, k,a, b,img):
 x1, x2 = spilt(a)
 y1, y2 = spilt(b)
 temp = np.zeros(a * b)
 count = 0
 for m in range(x1, x2):
  for n in range(y1, y2):
   if i + m < 0 or i + m > img.shape[0] - 1 or j + n < 0 or j + n > img.shape[1] - 1:
    temp[count] = img[i, j, k]
   else:
    temp[count] = img[i + m, j + n, k]
   count += 1
 return temp

def average_function(a , b ,img):
 img0 = copy.copy(img)
 for i in range (0 , img.shape[0] ):
  for j in range (2 ,img.shape[1] ):
   for k in range (img.shape[2]):
    temp = original(i, j, k, a, b, img0)
    img[i,j,k] = int ( np.mean(temp))
 return img 
 
def main():
 img0 = cv.imread(r"noise.jpg")

 ave_img = average_function( 3 , 3, copy.copy(img0) ) #(3,3)濾波器大小 

 cv.imshow("ave_img",ave_img) 
 cv.imshow("original",img0)

 cv.waitKey(0)
 cv.destroyAllWindows()

if __name__ == "__main__":
 main()

樣例

原圖:

opencv+python實現均值濾波

濾波核為3×3 3\times 33×3的均值濾波后:

opencv+python實現均值濾波

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

府谷县| 东丽区| 林芝县| 交城县| 和林格尔县| 万全县| 澎湖县| 湖南省| 奉贤区| 平武县| 泰州市| 黄平县| 涞水县| 当涂县| 黑水县| 平安县| 达拉特旗| 宁南县| 杭锦旗| 吉安县| 平乐县| 富川| 景东| 临城县| 英吉沙县| 滦南县| 海城市| 五家渠市| 车致| 库尔勒市| 峨边| 当阳市| 博爱县| 鞍山市| 津市市| 镇赉县| 湾仔区| 武鸣县| 古交市| 江永县| 泽库县|