回答編集履歴
1
追記
test
CHANGED
@@ -11,3 +11,37 @@
|
|
11
11
|
|
12
12
|
|
13
13
|
#そもそも,何故そのような引数を与えるのでしょう?
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
---
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
例えば,CV 4.0.0 のソースですが,てきとーに bilaterarlFilter_8u() の実装を覗いてみると,
|
22
|
+
|
23
|
+
```
|
24
|
+
|
25
|
+
if( sigma_color <= 0 )
|
26
|
+
|
27
|
+
sigma_color = 1;
|
28
|
+
|
29
|
+
if( sigma_space <= 0 )
|
30
|
+
|
31
|
+
sigma_space = 1;
|
32
|
+
|
33
|
+
```
|
34
|
+
|
35
|
+
という記述が見つかったりします.
|
36
|
+
|
37
|
+
想定外の値に対して,勝手に修正を入れる実装になっているわけです.また,
|
38
|
+
|
39
|
+
```
|
40
|
+
|
41
|
+
radius = MAX(radius, 1);
|
42
|
+
|
43
|
+
```
|
44
|
+
|
45
|
+
という記述もありますから,もしもこの実装が使われるとしたら,あなたが想定する「どっちのσも0.さぁフィルタサイズはどうなるんでしょうね?」といういじわるな話のまま処理が進むわけではないわけですね.
|
46
|
+
|
47
|
+
で,結果として画像に変化が起き得るでしょう.この実装固有の結果として.
|