OpenCV Python – 如何對影像執行 SQRBox 濾波操作?
我們可以使用cv2.sqrBoxFilter()對影像執行SQRBox 濾波器操作。它計算與濾波器重疊的畫素值的歸一化平方和。我們使用以下語法:
cv2.sqrBoxFilter(img, ddepth, ksize, borderType)
其中,img是輸入影像,ddepth是輸出影像深度,ksize是核心大小,borderType是用於推斷影像外部畫素的邊界模式。
步驟
要執行 SQRBox 濾波操作,您可以按照以下步驟操作:
匯入所需的庫。在以下所有示例中,所需的 Python 庫是OpenCV。請確保您已安裝它。
使用 cv2.imread() 方法讀取輸入影像。使用影像型別(例如 png 或 jpg)指定影像的完整路徑。
對輸入影像應用cv2.sqrBoxFilter()濾波。我們將ddepth、ksize、borderType傳遞給函式。我們可以調整ksize以獲得更好的結果。
sqrbox = cv2.sqrBoxFilter(img, cv2.CV_32F, ksize=(1,1), borderType = cv2.BORDER_REPLICATE)
顯示sqrBoxFilter濾波後的影像。
在以下示例中,我們將使用此影像作為輸入檔案:

示例
在這個 Python 程式中,我們使用 1x1 的核心大小對彩色輸入影像應用 SQRBox 濾波器。
# import required libraries import cv2 # Read the image. img = cv2.imread('car.jpg') # apply sqrBoxFilter on the input image sqrbox = cv2.sqrBoxFilter(img, cv2.CV_32F, ksize=(1,1), borderType = cv2.BORDER_REPLICATE) print("We applied sqrBoxFilter with ksize=(1,1)") # Save the output cv2.imshow('sqrBoxFilter', sqrbox) cv2.waitKey(0) cv2.destroyAllWindows()
輸出
執行後,將產生以下輸出:
We applied sqrBoxFilter with ksize=(1,1)
我們將獲得以下視窗顯示輸出:

示例
在這個 Python 程式中,我們使用 5×5 的核心大小對二值影像應用 SQRBox 濾波器。
# import required libraries import cv2 # Read the image img = cv2.imread('car.jpg') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) _, thresh = cv2.threshold(gray, 150, 255,cv2.THRESH_BINARY) # apply sqrBoxFilter on the input image sqrbox = cv2.sqrBoxFilter(thresh, cv2.CV_32F, ksize=(5,5), borderType = cv2.BORDER_REPLICATE) print("We applied sqrBoxFilter with ksize=(5,5)") # Display the outputs cv2.imshow('Gray Image', gray) cv2.waitKey(0) cv2.imshow('Threshold', thresh) cv2.waitKey(0) cv2.imshow('sqrBoxFilter', sqrbox) cv2.waitKey(0) cv2.destroyAllWindows()
輸出
執行後,將產生以下輸出:
We applied sqrBoxFilter with ksize=(5,5)
我們將獲得以下三個視窗顯示輸出:



廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP