猫の画像を加工した例と画像処理の初歩の一部、およびそのソースコード。

 画像加工の例とその考え方

 これまで、「音声認識のしくみ」と「音声合成のしくみ」の簡単な説明ページを作ってきた。第三弾は「画像処理の考え方」である。今回は細かい算数の部分が書きたくて書いた。かけ算と足し算によるフィルタリングがメインである。

 私はPHPに関しても画像処理に関しても素人であるが、画像信号処理と音声信号処理には共通点が多いため、今回のようなものを書いてみた次第である。

 今回は、左の猫の写真を右のように加工する方法を題材にした。個人的には、写真をアップロードすると自動的にこういった変換をしてくれるサイトがあると面白いなと思う。その他、様々な応用があるだろうと思う。

 参考にしたウェブサイトと書籍を以下に示す。

PHP: GD - Manual

はじめての画像処理技術 (ビギナーズブックス)

はじめての画像処理技術 (ビギナーズブックス)

追記(3月3日):

 Image Edge Detector - 青春スイーツ
 http://lab.hon5.com/ip/

 id:Aobaさんがこのアルゴリズムで画像を加工するサイトを作ってくださった。私は音声信号処理も自然言語処理も画像信号処理も、入出力がとても苦手なので、自分ではできなかった。感謝する。

 ついでなので、私にできないことをあと二つ書く。1:PHPでは無理だろうが、動画で同じことができたら、顔隠し用の「モザイク」として活用できるかもしれない。はっきり顔が見えるにもかかわらず、印象がかなり変わる。顔隠しとしての「安全性」は低いだろうが、動画投稿サイトなどに投稿する分には充分な顔隠しになると思う。2:用途は分からないが(そして専門用語も忘れたが)、色の表現系としてRGB以外のL*A*B*や色相を表現するものなどを使うとまた別の印象の加工になると思う。

 なお、私がこういうエントリを書くと、今回の私のエントリがもしかしたら学術的研究に見えてしまう人もいるかもしれないが、学術的研究にはなり得ない。「それなりに思い描いたものができる」ということが、コードを書く前から推測できたからである。言い換えれば、リスクがほとんどなかったからである。実用性があるということと学術的価値があるということは、全く別の概念である。両方がある研究もあるし、片方の場合もある(学問分野によって、両方要求されるところもあれば、学術的価値が強く要求されるところもある)。この追記に書いた今後の課題の「1」や「2」は、結果の有効性(実用性)が「未知数」だと思われるので、学部生向けの研究課題くらいにはなるかもしれない(専門ではないので分からないが)。