※ replitで「You've used up all your Development time」というメッセージが出た人は
こちらを参考にして新しくreplitのアカウントを作ってください。
※ 本題に入る前に、必ず動画の
連絡
を見てください。
- 元画像の作成
(連絡, 課題1~4とは別動画です。連絡を見たら次にこちらを見てください)
- ノイズ追加
- 膨張・収縮
- オープニング・クロージング
- トップハット・ブラックハット
膨張
完全な白と黒だけのピクセルからなる画像で、「特定のピクセルの上下左右に隣接するピクセルのすくなくともどれか1つが白なら、中心のピクセルも白にする」
という処理を行うと、

↓ (膨張)
- 白いエリアが1ピクセル分広がる
- 1ピクセルサイズの黒いノイズが消える
- 白いノイズが大きくなる
という結果になる。
これは
のようなマスクを用意し、元画像のピクセルの明度との積和を取って上限を255に設定することで実現できる。
収縮
完全な白と黒だけのピクセルからなる画像で、「特定のピクセルの上下左右に隣接するピクセルのすくなくともどれか1つが黒なら、中心のピクセルも黒にする」
という処理を行うと、

↓(収縮)
- 白いエリアが1ピクセル分狭くなる
- 1ピクセルサイズの白いノイズが消える
- 黒いノイズが大きくなる
という結果になる。
これは
- 元画像の白黒を反転させる
- その画像に膨張処理を行う
- もう一度その画像の白黒を反転させる
という処理を順に行うことで実現できる。
オープニング
元画像に収縮、膨張の順に処理を順に行うと、以下のような結果になる。

↓(収縮)

↓(膨張)

結果として
- 白いエリアの範囲はほぼ元のまま
- 白いノイズが消える
- 黒いノイズはほぼ元のまま
という状態になる。
クロージング
元画像に膨張、収縮の順に処理を順に行うと、以下のような結果になる。

↓(膨張)

↓(収縮)

結果として
- 白いエリアの範囲はほぼ元のまま
- 黒いノイズが消える
- 白いノイズはほぼ元のまま
という状態になる。
トップハット
オープニングでは白いノイズが消えるが、それ以外のものはほぼ影響を受けない。そのため、元画像との差をとれば「消えた白いノイズ」が取り出せる。

元画像
↕

オープニング画像
↓

トップハット画像
これは、例えば回路基板の写真などに含まれる埃などを見つけるのに役立つ。
ブラックハット
クロージングでは黒いノイズが消えるが、それ以外のものはほぼ影響を受けない。そのため、元画像との差をとれば「消えた黒いノイズ」が取り出せる。

元画像
↕

クロージング画像
↓

ブラックハット画像
これは、例えば宇宙の写真などから未発見の小惑星を見つけるのに役立つ (天文観測では白黒反転した写真を使うことが多いので、白背景に黒の天体が見える)。
提出用フォーム
※ コードと画像はTeamsのClass Notebookに保存してください。
※ 締切は6/16(月) 10:40です。それを過ぎると提出できなくなるので注意してください。