平均过滤器在第一个位置(0,0)

时间:2018-07-09 01:54:46

标签: image-processing mean

实际上,我正在使用均值进行自适应阈值化。我使用了3x3矩阵,所以我计算了该矩阵的均值并将其替换为M(1,1)或矩阵的中间位置。我对如何在第一个位置f(0,0)执行该过程感到困惑。

这只是一个小例子,假设我使用的是3x3矩阵(M),图像(f)的第一个位置f(0,0)= M(1,1)=4。因此,M(0,0 )M(0,1)M(0,2)M(1,0)M(2,0)没有值。

-1 | -1 | -1 |
-1 | 4 | 3 |
-1 | 2 | 1 |


哪个是正确的过程,
a)(4 + 3 + 2 +1)/ 4
b)(4 + 3 + 2 +1)/ 9

我之所以这样问,是因为我遵循一些教程的自适应均值阈值法,但结果却有所不同。因此,我需要确保该过程是正确的。谢谢。

1 个答案:

答案 0 :(得分:1)

没有解决该问题的“正确”方法。在实践中有许多不同的解决方案,它们都有一些缺点:

  • 仅对已知值进行平均(即您建议的 state = { displayInput: false } handleChange(event, data) { this.setState({ displayInput: data.value === 'Other' }); } render() { return ( <FormItem {...formItemLayout} label="Relation :"> { getFieldDecorator('Relation', { rules: [ { required: true, message: 'Please provide relation!' }, { max: 200, message: 'Note should be within a 200 characters' } ] })( <Select onChange={(event, data) => this.handleChange(event, data)}> <Option value="Father">Father</Option> <Option value="Mother">Mother</Option> <Option value="Husband">Husband</Option> <Option value="Other">Other</Option> </Select> ) } { this.state.displayInput && ( <Input placeholder="Other" type="text"/> ) } </FormItem> ); } )。通过对更少的像素进行平均,可以获得对噪声更敏感的结果(即,在边界附近过滤后图像中留下的“噪声量”更大)。此外,由于平均会发生在仅一侧。

  • 假设图片域外为0 (即您建议的(4+3+2+1)/4)。由于我们不知道图像外部是什么,因此假设0和其他任何东西一样好,不是吗?好吧,不,不是。这会导致滤镜结果的边缘周围的值更暗。

  • 假定为周期性图像。这里,从图像的另一侧获取未知值的值。当计算通过傅立叶域的卷积时,这实际上发生了。但是通常图像不是周期性的,图像相对两侧的强度(或颜色)差异很大,导致图像相对颜色的“渗色”。

  • 外推。通过外推扩展图像数据是一项冒险的业务。这基本上归结为预测如果我们对它们进行了成像,这些像素将发生什么。最安全的选择是0阶外推法(即复制边界像素),尽管也可以进行更高阶的多边形拟合。缺点是图像边缘的像素比其他像素更重要,它们在平均中的权重会更大。

  • 镜像。此处,图像在边界处反射(想象在图像的边缘放置一面镜子)。索引-1处的值取为索引1处的值;在索引-2处,在索引2处,等等。这与外推法具有类似的缺点。