- - PR -
携帯カメラで撮った写真の縦横の判別方法
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-04-24 12:17
いろいろ書き込んだのに送信に失敗して消えてしまいました。
簡単に書き直してみます。 未記入さんの情報、Exifの歴史が分かって為になりました。どうもです。 あれから、幾つかの機種で確認してみました。 自分で撮影したり取り込んだものではなく、他の人が撮影したもので、出来るだけ未加工と思われる写真をメールで送ってもらって、それらのExif情報を確認してみましたので、確実とはいえませんのでご了承ください。 試したのは、auが3機種、Pentaxのコンパクトデジカメ、NIKONの一眼レフD70sです。 結果は・・・全滅でした。 全て固定値あるいは値なし(D70sの横か縦どちらかのみ)でした。D70sには期待していたのですが・・やはり最新機種ではないから?ただ、D70sはオンラインマニュアルを見ると、姿勢情報を保存していると明記しており、モニタ表示もちゃんと上が上になるように表示するようですので、カメラの設定の問題か、コピーする際等に情報が消失したか、それともOrientationタグではなくて独自のタグに書き込んでいるか、などが考えられます。 自分の携帯カメラも何か設定があるのでは?と思い、いろいろ触ってみましたが、それらしいのは見当たりませんでした(ただし、全部を試しているわけではありません)。それにしても、購入して半年経って初めて知りましたが、最近の携帯カメラは凄い機能がてんこ盛りですね。これならば縦横情報くらいつけてくれればいいのに。写真整理が格段に楽になりますよね。あと、キャリアの技術情報も見に行ってみましたが、GPS情報の付加にがメインの用途のようで、縦横情報はあまり触れられていないようです。 ちなみに、キャノンはこの機能に積極的でコンパクトデジカメには少し前からSIセンサーが装備されているようですが、SIセンサーという言葉自体がキャノン以外では出てこないように思うのでキャノン用語なのかもしれません。縦横情報というのも姿勢情報とか回転情報とかいろいろあってどれが一般的な用語なのかよくわかりませんが(検索に困る)。 とりあえず、こういう状況ですので、現時点では不特定の機種の不特定設定を対象にした縦横判定は無理と判断せざるを得ないようです。デジカメの世代が入れ替わった5年後くらいはまた状況が変わっているかもしれませんが。もし、独自タグであっても縦横情報さえ保存されていれば、機種対応DBを作れば回転はできるかもしれませんが、今回はそこまでやるほどのものではないように思いますので、必要があれば手動回転で対応したいと思います。 有益な情報、どうもありがとうございました | ||||
|
投稿日時: 2007-04-24 13:04
撮影時には、どちらが上か判断するのは難しいとは思いますが、撮影した後に
デジカメの機能で回転させた場合に、Orientationタグを書き換えるのでは ないでしょうか? 特に携帯はOrientationタグの書き換えのほうが、処理が簡単なので可能性 は大きいと思います。 なので、Orientationタグによる自動回転機能は組み込んでおいたほうがいいのでは ないでしょうか(そんなに難しい処理でもないし) | ||||
|
投稿日時: 2007-04-24 14:25
最近キヤノンのデジカメ(それもエントリー機)に買い換えて、縦に取った画データが縦になっているだけじゃなくて、本体での再生時にもカメラを縦にしたり横にしたりするとそれにつれて再生画面も縦になったり横になったりするのですごいな〜、などと感心してたりしまた。タグが設定されているのかどうかは今手もとにないので判りませんが...
#そういえば、逆さにしてみたことはないなぁ。どうなるか後でやってみよ。 本来「タグをつける」というのは、記録するのはナマの状態で、付加情報をタグで付けるということなんでしょうが、デジカメの場合に限れば、タグに対応していないピクチャービューワーもたくさんあるでしょうから、生データを記録してタグに頼るよりも画を見る側の向きで記録(普通に再生したときに縦横が合うように/結果としてタグは固定値)した方が実用上便利ということもありそうです。 まぁいずれにしろ、対応していないものが多ければ
| ||||
|
投稿日時: 2007-04-25 00:32
なるほど!これならメール送信前に一度端末側で写真を保存し直してもらえれば正しい位置を付加できるかも、ということで、私の携帯で試してみましたが・・・回転前と回転後でOrientationタグの値に変化はありませんでした。残念です。良いアイデアだと思ったのですが。 機種にもよるのでしょうが、私の持っている端末はOrientationタグを全く意識していないように思われます。半年くらい前の端末でこうですからそれより古い機種になると更に期待は出来なさそうです。 でも、考えてみれば、端末側に回転機能があるということは(前はこういうのも知らなかったのですよね・・お恥ずかしい)、メール送信前に予め正しい方向に回転してから送ってもらえば良いということになりますよね。サーバ側では受信したものはそのまま保存すればよいだけなので、運用で逃げるにはこれが一番簡単なように思われます。 でも、いろいろ考えていくとよくわからなくなってきます。SIセンサーのない場合の写真の正しい方向というのは、携帯を操作したりモニターを見たりする方向を基準としていると思われますが、AQUOS携帯やW-ZERO3のようにモニタや本体を倒して使ったり使わなかったりする機種では、一体どの状態が基準になるのでしょうか?(AQUOS携帯は単にモニタ表示が横になるだけ?)まあこのあたりは仕様によるのでしょうから実際に端末を触ってみないと判らないのでしょうけども、考えると頭がこんがらがってきますね。 | ||||
|
投稿日時: 2007-04-25 05:47
あくまでも参考意見です、、。
Flickrを使っていますが、ユーザーが任意に回転させることができます。 Jittaさんが斜めの指摘も出されていますが、 意図的に逆さに表示させたい写真もあると思います。 携帯の場合は、基本縦レイアウトとして、アップ後に ユーザーが任意に表示方向を変えることができるほうが面白いと思います。 Flickrでは90度単位でしか回転できませんが、 任意に回転できたら、もっと面白いかと。 あと、テンプレートで枠とか付けれたら楽しそうですね。 _________________ _福田太郎_ | ||||
|
投稿日時: 2007-04-25 08:58
今までの経緯を見てみると、仕様を検討する方が良いように感じますね。
アルバムということでしたら、登録者が簡単に画像を回転できる機能があれば、それで良いように思います。 _________________ R・田中一郎 - R.Tanaka.Ichiro’s Blog | ||||
|
投稿日時: 2007-04-25 12:03
たらおさん、R・田中一郎さん。アドバイスありがとうございます。
一応、管理者については、PCからログインしてウェブ画面上で回転できるような機能は付けようと思っています。 System.Drawing.Bitmap.RotateFlipに引数で渡すSystem.Drawing.RotateFlipTypeで90度毎の回転が指定できそうな感じですので、それほど難しくはなさそうですが、斜め回転というのはなさそうですね。無理なのかな?(画像処理ってのはやったことがないもので・・) ただ、携帯メールだけでお手軽にアップロードできるようにするのが主な目的なので、個々人がログインして修正というのは今回は考えていません。PCユーザが対象ならまた違った仕様になると思いますが。 他の問題として、ユーザが増えるとサーバのライセンスについても再考しないといけなくなってくるのもありますが、最大の問題はASP.NETで本格的な携帯サイトを作らないといけないという部分だと思います。前にこのあたりを質問したことがあって中途半端なままになってますが、ここをクリアして前に進めるのはまだまだ先の話になりそうです。そういう意味で、最近始まった@ITの連載記事「.NETでモバイル・サイト開発を始めよう 」は非常に期待しています。 ところで、次なる課題として絵文字をどうするかで頭を悩ませていますが、これまた非常に大変そうなので、とりあえず簡易的に某ブログで採用している方式を拝借して、事前に取り決めた文字があったら絵文字に置き換えるというのでどうかと思っています。ここでいうと使ったことないですがBBコードとか顔文字(スマイリー)になるのでしょうか。 そこで思いついたのですが、写真の回転もメールに特定の文字(例えば{Rotate180FlipX}とか)が入っていたら回転させるとかいうように決めておけば、アップロードの際に回転を指定できますよね。これが良いかどうかは議論があるでしょうが、色々とやり方はありそうですので、そのあたりは検討してみたいと思います。 どうもありがとうございました。 |