回答編集履歴
3
fix
answer
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
```Python
|
6
6
|
# 明示的にfloat型に変換
|
7
7
|
n = img.astype(np.float_)
|
8
|
-
# 各画素値に p = log(p + 1) *
|
8
|
+
# 各画素値に p = log(p + 1) * 255/log(256) を適用
|
9
9
|
n = np.log(n + 1.) * (255. / math.log(256))
|
10
10
|
# OpenCVで扱える画像データ型(uint8)に変換
|
11
11
|
n = n.astype(np.uint8)
|
2
fix
answer
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
`cv2.imshow`関数がfloat型データを扱えないために該当エラーメッセージとなっています。
|
2
2
|
|
3
|
-
グレイスケール画像に対して`np.log`を適用したタイミングで、結果`n`はfloat型データに自動変換されます。ただし定義上log(0)=‐∞となってしまうため、入力画素値0~255は+1して値域1~256に変換しておいた方がよいでしょう。このとき元のuint8型データのまま+1すると255は0になってしまうため、事前にfloat型に明示変換する必要があります。また対数をとると値域が小さく(log(1)〜log(256) つまり 0〜5.545...)なってしまうため、
|
3
|
+
グレイスケール画像に対して`np.log`を適用したタイミングで、結果`n`はfloat型データに自動変換されます。ただし定義上log(0)=‐∞となってしまうため、入力画素値0~255は+1して値域1~256に変換しておいた方がよいでしょう。このとき元のuint8型データのまま+1すると255は0になってしまうため、事前にfloat型に明示変換する必要があります。また対数をとると値域が小さく(log(1)〜log(256) つまり 0〜5.545...)なってしまうため、255/log(256)でスケーリングする必要があります。
|
4
4
|
|
5
5
|
```Python
|
6
6
|
# 明示的にfloat型に変換
|
7
7
|
n = img.astype(np.float_)
|
8
8
|
# 各画素値に p = log(p + 1) * 256 / log(256) を適用
|
9
|
-
n = np.log(n + 1.) * (
|
9
|
+
n = np.log(n + 1.) * (255. / math.log(256))
|
10
10
|
# OpenCVで扱える画像データ型(uint8)に変換
|
11
11
|
n = n.astype(np.uint8)
|
12
12
|
```
|
1
fix
answer
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
`cv2.imshow`関数がfloat型データを扱えないために該当エラーメッセージとなっています。
|
2
2
|
|
3
|
-
グレイスケール画像に対して`np.log`を適用したタイミングで、結果`n`はfloat型データに変換されています。また対数をとると値域が小さく(log(1)〜log(256) つまり 0〜
|
3
|
+
グレイスケール画像に対して`np.log`を適用したタイミングで、結果`n`はfloat型データに自動変換されます。ただし定義上log(0)=‐∞となってしまうため、入力画素値0~255は+1して値域1~256に変換しておいた方がよいでしょう。このとき元のuint8型データのまま+1すると255は0になってしまうため、事前にfloat型に明示変換する必要があります。また対数をとると値域が小さく(log(1)〜log(256) つまり 0〜5.545...)なってしまうため、256/log(256)でスケーリングする必要があります。
|
4
4
|
|
5
5
|
```Python
|
6
|
+
# 明示的にfloat型に変換
|
7
|
+
n = img.astype(np.float_)
|
6
8
|
# 各画素値に p = log(p + 1) * 256 / log(256) を適用
|
7
|
-
n = np.log(
|
9
|
+
n = np.log(n + 1.) * (256. / math.log(256))
|
8
10
|
# OpenCVで扱える画像データ型(uint8)に変換
|
9
11
|
n = n.astype(np.uint8)
|
10
12
|
```
|