日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

空间滤波器是怎么来的

發布時間:2025/3/20 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 空间滤波器是怎么来的 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前面提到,我們可以用平均或加權平均來降低噪聲,以增強圖像。前面我們是對像素點的周邊8領域進行的操作,要是我們想對周邊更多領域進行操作呢?如果我們想要調整加權的權重值呢?

那么用前2篇文章中的方法顯然是非常煩瑣且不靈活的。我們注意到,對8領域進行平均或加權平均操作,實質上是對3×3的一個矩形區域進行操作。

如果相鄰像素再擴大一圈,就是5×5的矩形區域:

我們前面說:圖像就是矩陣,那么這個相鄰像素構成的區域不也是矩陣嗎?同樣的,不管是平均操作還是加權平均,這個區域矩陣中的每一個像素點都需要乘以一個系數,那么這個系數是不是同樣組成了一個矩陣呢,如果是3×3的區域,那么系數矩陣就是:

根據線性代數的矩陣數乘法則,我們可以把9放在矩陣外部,變成這個形式:

同樣的,加權操作的系數矩陣是這樣的:

那么,對圖像的平均操作和加權平均操作進行降噪實質上就是用這個系數矩陣與圖像中的任意一點的領域區域矩陣進行矩陣點乘,然后求點乘后矩陣的和。

寫出公式就是:

g(x,y)=a=?nnb=?nnw(x,y)?f(x+a,y+b)g(x,y)=∑a=?nn∑b=?nnw(x,y)?f(x+a,y+b)

w是大小為n×n的系數矩陣,f(x,y)是點(x,y)處的值,g(x,y)是進行平均操作或加權平均操作后點(x,y)處的值。

import cv2 import numpy as npsalt = cv2.imread("salt_lena.bmp", 0) row, column = salt.shape reduce = salt[:] coefficient = np.array([[1, 2, 1],[2, 4, 2],[1, 2, 1]]) region_row, region_column = coefficient.shapefor x in range((region_row - 1) // 2, row - (region_row - 1) // 2):for y in range((region_column - 1) // 2, column - (region_column - 1) // 2):reduce[x, y] = np.sum(coefficient * salt[x - (region_row - 1) // 2:x + (region_row - 1) // 2 + 1,y - (region_column - 1) // 2:y + (region_column - 1) // 2 + 1]) / np.sum(coefficient)cv2.imshow("reduce_filter", reduce.astype("uint8")) cv2.waitKey()

效果是以前的做法是一樣的。

這樣的話,就把系數矩陣w抽象了出來,如果需要擴大領域操作的范圍,就改變系數矩陣的大小n×n,如果需要調整權重,就改變系數矩陣中的相應位置的值。

這個抽象的系數矩陣w我們可以稱它為模板、核、窗口、卷積核等等,都是等價的。而這種操作既然是降低噪聲,就是過濾掉噪聲,借用頻率域的術語,又可以稱之為濾波操作,那么這個系數矩陣w就稱之為濾波器。由于是在圖像的二維空間中進行操作,所以又稱為空間濾波器。以后你看到模板卷積核窗口濾波器空間濾波器等等術語,都指的是這個東西。當然,卷積的真實含義與這里的操作有一點點的區別,但不必過于拘泥于術語的精確性。關于卷積以后還將探討到。

事實上opencv已經給我們封裝好了。我們用一個5×5的空間濾波器,使用opencv的filter2D函數。

salt = cv2.imread("salt_lena.bmp", 0) filter = 1 / 25 * np.ones((5, 5)) reduce_filter = cv2.filter2D(salt, -1, filter) cv2.imshow("reduce_filter", reduce_filter) cv2.waitKey()

輸出結果:

這里我們用了3×3和5×5的空間濾波器,大小都是奇數,那么可不可以使用4×4,8×8,甚至是5×4,8×7的尺寸呢,當然是可以的。但是,使用奇數尺寸的濾波器可以簡化索引,并更為直觀,因為需要操作的像素點是落在濾波器的中心位置上。

總結

以上是生活随笔為你收集整理的空间滤波器是怎么来的的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。