回答編集履歴

1

追記

2020/06/09 08:55

投稿

fana
fana

スコア11996

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
+ で,結果として画像に変化が起き得るでしょう.この実装固有の結果として.