- PR -

JPEG画像からExif情報を取り出すには?

1
投稿者投稿内容
ピスコ
会議室デビュー日: 2006/08/20
投稿数: 3
投稿日時: 2006-08-21 00:01
初めて投稿します。 
JAVAの初心者ですけど、ただ今デジタルカメラで撮影した画像のExif情報(撮影日付)を取り出そうとしているのですが、なかなかうまくいかずに、ずっと悩んでいます。

画像を読み込み、バイナリに変換はできますが、そこから先からうまくいきません。

ここからどうすればいいのか教えて下さい!! お願いします。
宜しければ、参考にソースも頂けると有難いです。
せん
ぬし
会議室デビュー日: 2002/03/04
投稿数: 397
投稿日時: 2006-08-21 02:18
残念ながら答えはしりません。ごめんなさい。

ただ「java Exif」で google 検索を行うと、参考になりそうなページが幾つかあります。
それらでは何らかの手助けにはならないのでしょうか?
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-08-21 09:59
簡単に調べた感じだとExifフォーマットというのはjpegに
規格に沿って追加情報を載せたもののようですから、
画像を読み込むだけなら
javax.imageio.ImageIO.read()
で簡単に読み込めそうですね。

問題は追記情報の部分ですが、BufferedImageになった時点で
それらの情報は切り捨てられてしまうと思われるので
ファイルの読み込みからなんとかしないといけないでしょうね。

フリーの読み込み用のライブラリもあるかもしれませんので
そういったものを利用するのも手ではありますが、
自力で読み出したいというのであれば、
ファイルフォーマットの規格に沿って自分でデータを読み込みましょう。
http://park2.wakwak.com/~tsuruzoh/Computer/Digicams/exif.html
規定の位置に規定の情報が入っているだけなのでやればできる。
…と思う

# いまどきファイルフォーマットを解析して画像のローダーを作る
# なんて話はあまり聞かなくなりましたね。
# 昔はよくやるプログラムのネタだったように思いますが。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2006-08-21 12:49
http://www2.airnet.ne.jp/kenshi/exif.html
http://drewnoakes.com/code/exif/

自前で処理をするならば、Javaでバイナリファイルを開いて中のデータを
参照する方法を調べてみると良いと思いますよ。バイナリエディタでjpeg
ファイルを開いて、実際に入っているデータとExifの規格を比べながら
作ると、勉強になると思います。
※昔は非Windows環境で画像をロード、セーブするコードを組む機会が
多かった気がします。(BMPとかMAGとか・・・)
昔話昔話

がんばってください。
ちいにぃ
大ベテラン
会議室デビュー日: 2002/05/28
投稿数: 244
投稿日時: 2006-08-21 15:44
既にごらんになっておられるかもしれませんが、
去年の、以下のスレッド(の中で紹介されたリンク)も参考になるかと思います。
jpegのヘッダー領域について - Insider.NET
ピスコ
会議室デビュー日: 2006/08/20
投稿数: 3
投稿日時: 2006-08-22 05:19
ご返答有難うございます。

Exifの規格書を比べながら行っていたので、バイナリエディタでExifのタグ番号が何を指すかは大方理解しているのですが、(初歩的な質問になると思いますが)それが指す部分を抜き出すにはどうしたらいいですか?

小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2006-08-22 09:14
大ヒント↓
http://www.asahi-net.or.jp/~DP8T-ASM/java/tips/BinaryFileIO.html

申し訳ないですが、自分でバイナリファイル処理を調べもせず、ただ教えて
くださいなのでしたら、Exifの規格などという話をせず、素直にライブラリ
とか使ってください。

がんばってくださいと書いたのに・・・。
ピスコ
会議室デビュー日: 2006/08/20
投稿数: 3
投稿日時: 2006-08-22 19:58
色々教えていただき有難うございます。

教えてくれたのを参考に、なんとか情報を取り出すことができました。

ほんと有難うございます。
1

スキルアップ/キャリアアップ(JOB@IT)