■正位置にしたい
ともかく自動とか、マッシュアップとかいう言葉には目がありません。
自分の作業効率や作業時間、資源は限られているのだから、効率的になにか(仕事や趣味)を行うには、外部の手を借りるか、それとも効率的な道具を使うか、どちらかだと思うのです。
たとえば、写真は正位置でないと見づらくて、頭を横にしたりして酔っちゃうことが多いです。まず、なにはなくても、写真を正位置にしておくことが重要だと考えます。
これもまたたとえばですが、デジタルカメラの中には、縦横を認識するセンサーが内蔵されている機種もあります。最初からそれを使えば、正位置問題は(ある程度)解決します。
センサーなしの場合には、手動で正位置にするわけです。これを簡単にできるアプリケーションは、もちろんいろいろありますけれども、自動となると、見かけない気がします。そんなことないかな...。
■顔認識APIとロスレス回転
どうやって正位置にするか、たとえば、顔が写っていて、顔が認識できれば可能なんじゃないかと考えました。
ちょうど「detectFace();」が、顔認識のWeb APIをフリーで公開しています。これで顔を認識して縦の位置がわかれば、それをもとに回転させて、正位置にできそうです。
どうせ回転させるなら、Jpegファイルをロスレスで回転させたいですよね。ロスレス回転には「eggheadcafe」のソースを使いました。
いやいや、インターネットには本当になんでもあります。情報を公開してくださっている皆様に感謝です。
『rotateFace』は、フォルダを指定すると、おなじフォルダに回転したファイルを作ります。まあ、まだおもちゃレベルですが、ないよりはマシかなと思います。
WindowsXPで動作テストしています。動作には、.NET Framework3.5が必要です。
(美崎薫)