在Repa包中,有一个Boundary
数据类型:
data Boundary a
= BoundFixed !a
| BoundConst !a
| BoundClamp
deriving (Show)
我理解BoundConst
的含义(数组外的单元格被视为单个值),我理解BoundClamp
的含义(数组外的单元格与最近的阵列单元格)。
BoundFixed
是什么意思?描述是对边界区域使用固定值。什么是“边境地区”?这些都是边缘细胞吗?
答案 0 :(得分:1)
阅读mapStencil2
和partitionForStencil
的源代码,看起来边界区域是任何单元格,其值将使用输入数组外的单元格计算。 BoundConst
在数组外部采样单元时,使用数组外部的常量值作为卷积的输入。只要卷积取决于数组外的值,BoundFixed
就会使用常量值。
您可以在小图像上使用3x3身份卷积轻松测试。 BoundConst
和BoundClamp
根本不应更改图像。 BoundFixed a
会在图片上绘制一个单元格a
边框。具有2x2身份卷积的BoundFixed
应仅在图像的两侧绘制边框。我不建议将BoundFixed
用于绘制边框以外的任何内容,因为相同的卷积会因模板尺寸而产生不同的结果。