こんにちは、なかにしです。
今回は、黒塗り画像を復元していこうと思います。
やっていこう!
使用する画像
元画像と、それを加工した画像を用意しました。
見た目の通り、「機密情報」です。(image-2.0で作りました)
▼ 元画像

▼ 黒塗り:透明度0%

▼ 黒塗り:透明度1%

見た目上は、ちゃんと隠れているように見えますね。
やり方
GIPM というフリーソフトを使用します。
詳しい説明は伏せますが、以下のようにポチポチっと値を変えるだけです。

戻してみた
「使用する画像」を対象に処理をして、隠れた部分が見えるようになるかを確認します。
黒塗り:透明度0%

見えませんでした。
黒塗り:透明度1%

見えました。
なぜ見えるのか
画像の黒塗りは、色の変更に似ています。
例えば赤色はRGBで(255, 0, 0)で、黒は(0, 0, 0)です。

赤色の部分を黒塗りをする場合、以下のように変更されます。
透明度0%:(255, 0, 0) → (0, 0, 0)
透明度1%:(255, 0, 0) → (2, 0, 0)
GIPMで行った処理は、この数字に掛け算や割り算をして、値を変えるというものです。
つまり、透明度1% の (2, 0, 0)に 100をかけ、(200, 0, 0)に変更。
すると、黒塗りが解除され、赤色が復元できるというわけです。
透明度0%の場合に復元できなかった原因は、掛け算や割り算をする処理にあります。
0に何をかけても割っても0ですよね。なので、復元ができません。
おわりに
Xで、画像を黒塗りでポストしているリプ欄で「復元できますよ」というコメントを度々みかけるので、前々から気になっていました。
結論として、黒塗りは透明度が1%でもあれば、中身を見ることができそうです。
ちなみに、モザイクは復元不可です。
あれは画像をぐちゃぐちゃに書き換えるらしいので、
モザイクを外すとかのレベルではなく、予測して生成するしかないそうです。
今回はここまで!
Enjoy Hacking!


