質問するログイン新規登録

回答編集履歴

2

補足を追記

2020/07/21 04:47

投稿

fana
fana

スコア12236

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

追記

2020/07/21 04:47

投稿

fana
fana

スコア12236

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()あたりを使うとよい),それを処理対象にする.