Operator Library: Filter
運算子FIRkernelNxM會在每個像素周圍建立一個矩形 核視窗,其中包含鄰近像素。該 核視窗的大小可透過編輯輸出連結來定義。N代表核視窗的行數 ,M則代表核視窗的列數。
![]() |
無 FIR 濾波器 |
|---|---|
|
與其名稱相反,此運算子與 FIR 濾波器毫無關聯。它可 用於產生濾波器的輸入資料。 |
其他用於生成核的運算子包括 以下運算子 LineNeighboursNx1 以及 PixelNeighbours1xM。
核的中心元素總是 代表該位置的原始輸入像素。輸出影像 O 的 像素索引為 x 和 y,核索引為 m 和 n,其由輸入影像透過以下方式推導而出:
與
進行明確的生命週期管理即呼叫
在影像邊緣處,不會定義任何鄰接像素。 此運算子允許透過參數EdgeHandling 來定義所需的邊緣處理演算法。
對於尺寸為偶數的核,並不存在中央 像素。在此情況下,中央像素會被移至左上角;例如,對於 尺寸為 4x4 的核,其中央像素定義為 (1,1),如下表 所示。
| 0,0 | 0,1 | 0,2 | 0,3 |
| 1,0 | 1,1 | 1,2 | 1,3 |
| 2,0 | 2,1 | 2,2 | 2,3 |
| 3,0 | 3,1 | 3,2 | 3,3 |
核函數由行數和 列數來描述。在VisualApplets 中,N代表行數, 而M代表列數。通常,核函數 的元素是透過索引而非座標來取址的。在此情況下, 取址順序為逐行進行,如下表所示。
| 0 | 1 | 2 | 3 |
| 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 |
以下範例展示了由 三個核心行與三個核心列所構成的最終組合。圖中所示運算子中的 3x3 矩陣 提供了相對位址,用以定義各核心的內容。輸出端的每個 3x3 群組 顯示了每個像素所對應的不同核心值。
與其逐像素地配置核, 此範例展示的是最終產生的子核:索引為 0 的第一個核,以及索引為 8 的 最後一個核。
以下範例顯示了 由兩行及兩欄核函數所構成的組合結果。由於相對位址僅 參照右側或下方的鄰接元素,因此無需對 左側或頂部的內容進行邊緣處理。
將最後兩個範例中奇數與 偶數核大小進行比較,可觀察到 edgeHandling 功能在 edgeMirroring模式下呈現顯著的行為。雖然對於偶數與奇數核大小的edgeMirroring, 在頂部和左側邊界上的處理方式完全相同,但在 底部和右側邊界上卻會產生略有不同的結果。 由於輸出影像尺寸龐大,因此僅呈現 第一個(右上角)與最後一個(右下角)輸入像素的 配置結果,以及各核所產生的數值:
針對奇數核大小的EdgeMirroring會 將缺失資料的區域,以等距處的含資料區域進行填充。邊界將被保留 且不會被複製。 對於偶數核大小,將區域填充至頂部或左側時, 同樣適用此原則。相較之下,將區域填充至底部或右側時, 在鏡像過程中會複製邊界。同樣地,此情況僅發生於偶數核大小。
![]() |
針對均勻核心大小的EdgeMirroring |
|---|---|
|
對於大小均等的像素,若將區域填充至底部或右側,在鏡像處理時會 複製邊界。 |
從技術上來說,該運算子會等待並將 核心所需的像素緩衝起來,直到能夠並行輸出為止。因此,該 運算子會造成延遲,因為只有在輸入端處理完所有所需的 相鄰像素後,才能輸出像素。行延遲為:
Operator Restrictions
-
ImageWidth < 2*Parallelism is not allowed.
-
不允許使用空白圖片,即沒有像素的圖片。
-
不允許出現空行或行長不一的情況。
| 邊緣處理 | |
|---|---|
| Type | 靜態參數 |
| Default | EdgeMirrored |
| Range | {EdgeMirrored, EdgeConstant} |
|
在影像邊緣處,由於沒有鄰接像素可用來生成核,因此在此情況下, 該運算子可採用兩種邊緣處理模式: 在EdgeMirrored 模式下,影像邊緣會使用鏡像像素。 在EdgeConstant 模式下,邊緣處缺失的核元會被 一個恆定值填補。此值可透過參數 Constant 來定義。 |
|
| 常數 | |
|---|---|
| Type | 靜態參數 |
| Default | 0 |
| Range | 輸入鏈接 I 的範圍 |
|
若將參數EdgeHandling設定為 EdgeConstant,則此參數將定義位於影像 邊界之外之像素的預設值。 對於色彩格式,該值是一個無符號整數,由所有色彩成分的二進位 表示法組合而成。 |
|
以下範例展示了運算子 FIRkernelNxM 的使用方式:
-
同步 - 避免死結。
-
用於區域自我調適閥值化的二值化範例。 使用了 8x8 像素的核心大小。
-
'Nearest Neighbor Demosaicing'
範例 - Nearest Neighbor Bayer Demosaicing
-
範例 — 此範例展示如何使用 3x3 濾波器對拜耳 RAW 圖案進行去馬賽克處理。
-
範例 — 此範例展示如何使用 5x5 濾波器對拜耳 RAW 圖案進行去馬賽克處理。
-
'Bayer 3x3 Demosacing with White Balancing'
範例 - 此範例展示使用 3x3 濾波器對 Bayer RAW 模式進行去馬賽克處理。 此外,還加入了用於色彩校正的 White Balancing。
-
'Bayer 5x5 Demosacing with White Balancing'
範例 - 此範例展示使用 5x5 濾波器對 Bayer RAW 模式進行去馬賽克處理。 此外,還加入了用於色彩校正的 White Balancing。
-
'Edge Sensitive Bayer Demosaicing Algorithm'
範例 - Edge Sensitive Laplace Bayer Demosaicing filter
-
'Bayer Demosaicing Algorithm According to Laroche'
範例 - Laroche Bayer Demosaicing 濾鏡
-
'Modified Laroche Bayer Demosaicing Algorithm '
範例 - 資源最佳化的 Laroche Bayer Demosaicing 濾鏡
-
'拜耳去馬賽克演算法,適用於採用「紅/藍後接綠」與「綠後接藍/紅」色彩模式的雙線性線掃描相機 '
範例 — 此範例展示如何對具備以下色彩模式的雙線性線掃描相機所拍攝的拜耳 RAW 圖像進行去馬賽克處理: 紅/藍後接綠_綠後接藍/紅
-
「拜耳去馬賽克演算法,適用於具有『紅→藍、綠→綠』色彩模式的雙線性線掃描相機」
範例 — 此範例展示如何對具有彩色圖案的雙線性線掃描相機所拍攝的拜耳 RAW 圖案進行去馬賽克處理 紅/藍 followed by 藍/紅_綠 followed by 綠
-
「拜耳採用 8 位元雙色拜耳圖案進行線掃描相機的去馬賽克處理」
範例 — 此範例展示如何對採用 BiColor Bayer 圖案(例如 BiColorRGBG、BiColorGRGB、BiColorBGRG 及 BiColorGBGR)的 CXP-12 線掃描相機所產生的 8 位元 Bayer RAW 圖像進行去馬賽克處理, 例如適用於racer 2 L 相機。 此外,此範例還包含 一個線掃描觸發模組 以及一個白平衡模組。
-
「拜耳採用 10 位元雙色拜耳圖案進行線掃描相機的去馬賽克處理」
範例 — 此範例展示如何對採用 BiColor Bayer 圖案(例如 BiColorRGBG、BiColorGRGB、BiColorBGRG 及 BiColorGBGR)的 CXP-12 線掃描相機進行 10 位元 Bayer RAW 圖案去馬賽克處理, 例如適用於racer 2 L 相機。 此外,此範例還包含 一個線掃描觸發模組 以及一個白平衡模組。
-
「拜耳採用 12 位元雙色拜耳圖案進行線掃描相機的去馬賽克處理」
範例 — 此範例展示如何對採用 BiColor Bayer 圖案(例如 BiColorRGBG、BiColorGRGB、BiColorBGRG 及 BiColorGBGR)的 CXP-12 線掃描相機進行 10 位元 Bayer RAW 圖案去馬賽克處理, 例如適用於racer 2 L 相機。 此外,此範例還包含 一個線掃描觸發模組 以及一個白平衡模組。
-
範例 - 展示 imaFlex 平臺的協同處理器功能。 作為範例,計算了 Median Filter。
-
'Co-Processor Large Filter Calculation'
範例 - 展示 imaFlex 平臺的協同處理器功能。 作為範例,計算了大型濾波器核心。
-
範例 - 將二值化侵蝕後的影像與原始影像進行比較。 如果兩者不同,則會偵測到邊緣。
-
範例 - Kirsch 濾波器是適用於非方向性邊緣的良好邊緣偵測濾波器。
-
範例 - 僅在 x 方向的 Sobel 濾鏡。
-
範例 - 在所有 4 個方向上的 Sobel 濾鏡。
-
範例 — 展示將形態學近似運算應用於二值影像的實作方式。
-
範例 — 展示對二值影像應用形態學開操作的實作。
-
範例 - 簡單的 3x3 方框濾鏡。
-
範例 - 使用 5x5 核心的 Gauss 濾鏡。
-
範例 — 此小程式對影像套用 5x5 中值濾波器。
-
範例 — 說明篩選器的實作方式。
-
範例 - 平行使用兩個濾鏡的範例。
-
範例 - 顯示如何從濾鏡中擷取子 kernel 以取得原始影像資料。 此範例執行簡單的局部自適應二值化。
-
範例 - 說明如何為線型掃描相機實作濾鏡。
-
'High Boost Sharpening Filter'
範例 - 用於銳化的高提升 Laplace 濾鏡
-
範例 —— 一個 3×3 拉普拉斯濾波器。
-
範例 - 進行高強度點係數的卷積運算。 對於高於閾值的結果,會將相應的畫素染成紅色。
-
「使用迴圈的景深自焦距」(Depth From Focus Using Loops)
範例 - 使用迴圈的景深自焦距 (Depth From Focus using Loops)
-
'Normalized Cross Correlation'
範例-
-
範例 - 此範例顯示自動壞點檢測與替換。

![[注意]](../common/images/admon/note.png)
![[提示]](../common/images/admon/tip.png)




上一頁

