回答編集履歴
2
補足を追記
answer
CHANGED
@@ -29,7 +29,7 @@
|
|
29
29
|
}
|
30
30
|
```
|
31
31
|
|
32
|
-
あと,この処理だと,外周が処理されない問題もある.これに関しては,
|
32
|
+
あと,この処理だと,外周が処理されない問題もある(結果画像の外周に1pixel幅の黒枠ができることになるはず).これに関しては,
|
33
33
|
|
34
34
|
* iとjのループ範囲を全域にして,
|
35
35
|
* j+jjやi+iiが画像範囲外になる場合を適切にハンドリングする(例えば,最も近い「範囲内」な座標の画素値を参照するようにする)
|
1
追記
answer
CHANGED
@@ -27,4 +27,12 @@
|
|
27
27
|
dst.at<uchar>(j, i) = ( tmp<255 ? (uchar)tmp : uchar(255) ); //255は超えない
|
28
28
|
}
|
29
29
|
}
|
30
|
-
```
|
30
|
+
```
|
31
|
+
|
32
|
+
あと,この処理だと,外周が処理されない問題もある.これに関しては,
|
33
|
+
|
34
|
+
* iとjのループ範囲を全域にして,
|
35
|
+
* j+jjやi+iiが画像範囲外になる場合を適切にハンドリングする(例えば,最も近い「範囲内」な座標の画素値を参照するようにする)
|
36
|
+
|
37
|
+
あるいは,
|
38
|
+
あらかじめ「外周を膨らませた」画像を作って(copyMakeBorder()あたりを使うとよい),それを処理対象にする.
|