Operator Library: Filter
算子 FIRkernelNxM 在每个像素周围创建一个矩形核窗口,其中包括相邻像素。核的大小可以通过编辑输出链路来定义。N 表示核的行数,M 表示核的列数。
![]() |
无 FIR 滤波器 |
|---|---|
|
顾名思义,该算子与 FIR 滤波器无关。它可用于生成滤波器输入数据。 |
用于生成核的其他算子包括 LineNeighboursNx1 和 PixelNeighbours1xM。
核的中心元素始终表示相应位置的原始输入像素。具有像素索引 x 和 y 以及核索引 m 和 n 的输出图像 O 是通过输入按以下方式推导出来的:
并分别带有
和
在图像边缘,未定义相邻像素。该算子允许使用参数 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 处的最后一个核。
以下示例展示了两行两列核的合成结果。由于相对地址仅引用右侧或下方的邻居,因此无需对左侧或顶部的内容执行边缘处理。
将最后两个奇数和偶数核大小的示例进行比较,可以看出 edgeMirroring 模式下 edgeHandling 功能的一个明显行为。虽然 edgeMirroring 对于偶数和奇数核大小在顶部和左侧边沿的处理方式相同,但在底部和右侧会产生略有不同的结果。由于输出图像较大,此处仅展示第一行、右上角以及最后一行、右下角输入像素及其每个核的结果值的配置结果:
奇数核大小的 EdgeMirroring 使用来自等距区域且带有数据的区域填充缺失数据的区域。边沿得以保留,不会被复制。该原则同样适用于为偶数核大小填充顶部或左侧的区域。与此相反,填充底部或右侧的区域在镜像期间会复制边沿。同样,这仅发生于偶数核大小。
![]() |
偶数核大小的 EdgeMirroring |
|---|---|
|
对于偶数核大小,填充底部或右侧的区域在镜像期间会复制边沿。 |
从技术上讲,该算子会等待并缓冲核所需的像素,直到它们能够并行输出。因此,该算子会导致延迟,因为像素只能在输入端处理完所有必需的相应相邻像素之后才能输出。行延迟为:
算子限制
-
ImageWidth < 2*Parallelism is not allowed.
-
不允许使用空图像,即没有像素的图像。
-
不允许使用空行或长度可变的行。
| EdgeHandling | |
|---|---|
| 键入 | static 参数 |
| 默认 | EdgeMirrored |
| 范围 | {EdgeMirrored, EdgeConstant} |
|
在图像边缘,不存在用于生成核的邻居。在这种情况下,该算子可以在两种边缘处理模式下使用: 在 EdgeMirrored 模式下,图像边缘使用镜像像素。 在 EdgeConstant 模式下,边缘处缺失的卷积核元素由一个常量值进行 Fill。该值可以通过参数 Constant 进行定义。 |
|
| Constant | |
|---|---|
| 键入 | static 参数 |
| 默认 | 0 |
| 范围 | 输入链路 I 的范围 |
|
如果参数 EdgeHandling 设置为 EdgeConstant,则此参数定义图像边界外像素的默认值。 对于 Color Format,该值是一个无符号整数,组合了所有颜色分量的二进制表示。 |
|
以下示例展示了 FIRkernelNxM 算子的使用:
-
Synchronization - 避免死锁。
-
局部自适应阈值二值化示例。 使用了 8×8 像素的 Kernel Size。
-
示例 - 最近邻拜耳去马赛克
-
示例 - 该示例展示了使用 3x3 滤波器对 Bayer RAW 图案进行去马赛克处理。
-
示例 - 该示例展示了使用 5x5 滤波器对 Bayer RAW 图案进行去马赛克处理。
-
“Bayer 3x3 Demosacing with White Balancing”
示例 - 该示例展示了使用 3x3 滤波器对 Bayer RAW 图案进行去马赛克(Demosaicing)处理。 此外,还添加了用于颜色校正的白平衡。
-
示例 - 该示例展示了使用 5x5 滤波器对 Bayer RAW 图案进行去马赛克处理。 此外,还添加了用于色彩校正的白平衡功能。
-
示例 - 边缘敏感拉普拉斯拜耳去马赛克滤波器
-
示例 - Laroche 拜耳去马赛克滤波器
-
示例 - 资源优化的 Laroche 拜耳去马赛克滤波器
-
“针对色彩图案为 Red/BlueFollowedByGreen GreenFollowedByBlue/Red 的双线阵相机的 Bayer 去马赛克”
示例 - 该示例展示了对具有色彩图案 Red/BlueFollowedByGreen_GreenFollowedByBlue/Red 的双线阵相机的 Bayer RAW 图案进行去马赛克处理
-
'适用于具有 RedFollowedByBlue GreenFollowedByGreen 彩色模式的双线阵彩色相机的 Bayer Demosaicing'
示例 - 该示例展示了双线阵彩色相机 Bayer RAW 模式的去马赛克处理,其彩色模式为 Red/BlueFollowedByBlue/Red_GreenFollowedByGreen
-
'具有 8 位 BiColor Bayer 模式的线阵相机的 Bayer Demosaicing'
示例 - 本示例展示了带有 BiColor Bayer 模式的 CXP-12 线阵相机(例如 racer 2 L 相机)的 Bayer 8 位 RAW 模式去马赛克处理: BiColorRGBG、BiColorGRGB、BiColorBGRG 和 BiColorGBGR。此外,该示例还包含 一个线阵触发模块 和一个白平衡模块。
-
'具有 10 位 BiColor Bayer 模式的线阵相机的 Bayer Demosaicing'
示例 - 本示例展示了带有 BiColor Bayer 模式的 CXP-12 线阵相机(例如 racer 2 L 相机)的 10 位 Bayer RAW 模式去马赛克处理: BiColorRGBG、BiColorGRGB、BiColorBGRG 和 BiColorGBGR。此外,该示例还包含 一个线阵触发模块 和一个白平衡模块。
-
'具有 12 位 BiColor Bayer 模式的线阵相机的 Bayer Demosaicing'
示例 - 本示例展示了带有 BiColor Bayer 模式的 CXP-12 线阵相机(例如 racer 2 L 相机)的 10 位 Bayer RAW 模式去马赛克处理: BiColorRGBG、BiColorGRGB、BiColorBGRG 和 BiColorGBGR。此外,该示例还包含 一个线阵触发模块 和一个白平衡模块。
-
示例 - 展示了 imaFlex 平台的协处理器功能。以计算 Median Filter 为例。
-
示例 - 展示了 imaFlex 平台的协处理器功能。以计算大滤波器内核为例。
-
示例 - 将二值腐蚀图像与原图进行比较。 如果两者不同,则检测到边缘。
-
示例 - Kirsch 滤波器是用于检测无方向边缘的理想边缘检测滤波器。
-
示例 - 仅在 x 方向上的 Sobel 滤波器。
-
示例 - 适用于所有 4 个方向的 Sobel 滤波器。
-
示例 - 展示了对二值图像应用形态学闭运算的实现方式。
-
示例 - 展示了对二值图像应用形态学开运算的实现方式。
-
示例 - 一个简单的 3x3 盒式滤波器。
-
示例 - 使用 5x5 核的高斯滤波器。
-
示例 - Applet 对图像应用 5x5 的 Median Filter。
-
示例 - 解释滤波器的实现。
-
示例 - 并行使用两个滤波器的示例。
-
示例 - 展示如何从滤波器中提取子核以获取原始图像数据。 此示例执行简单的局部自适应二值化。
-
示例 - 说明如何为线扫描相机实现滤波器。
-
'High Boost Sharpening Filter'
示例 - 用于锐化的高提升拉普拉斯滤波器
-
示例 - 一个 3x3 拉普拉斯滤波器。
-
示例 - 使用高强度斑点系数进行卷积。 对于高于阈值的结果,相应的像素将被染成红色。
-
'Depth From Focus Using Loops'
Examples - Depth From Focus using Loops
-
'Normalized Cross Correlation'
示例-
-
示例 - 该示例展示了自动坏点检测与替换。

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




上一页

