Javaを使用してjpgからカメラ関連情報を抽出することを検討しています。私は周りを見回しましたが、私の問題の解決策を見つけることができませんでした。 Mac(OS X 10.7)でApertureから写真をエクスポートしていて、ファイル情報で利用可能なApertureのデータを使用したいとします。Javaで画像からカメラ関連情報を抽出するにはどうすればよいですか?
アイデア?
私はこのような写真から次元とキーワードを抽出することを望んでいます:80.167.88.49 /masters/test.html。現在、メタデータ抽出プログラムを使用しようとすると例外が発生します。 Apertureが処理できない情報を追加しているのかどうかはわかりませんが、Apertureのすべての写真に例外がスローされます。
Exception in thread "main" java.lang.NoClassDefFoundError: com/adobe/xmp/XMPException
at com.drew.imaging.jpeg.JpegMetadataReader.extractMetadataFromJpegSegmentReader(Unknown Source)
at com.drew.imaging.jpeg.JpegMetadataReader.readMetadata(Unknown Source)
at com.drew.imaging.ImageMetadataReader.readMetadata(Unknown Source)
at com.drew.imaging.ImageMetadataReader.readMetadata(Unknown Source)
at ImageScaler.main(ImageScaler.java:141)
Caused by: java.lang.ClassNotFoundException: com.adobe.xmp.XMPException
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 5 more
コード:
public static void main (String[] args){
File image = new File("/Users/peterla/Desktop/P8214462.jpg");
Metadata metadata = null;
try {
metadata = ImageMetadataReader.readMetadata(image);
} catch (ImageProcessingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Directory directory;
// Keywords
directory = metadata.getDirectory(IptcDirectory.class);
String keywords[] = directory.getStringArray(IptcDirectory.TAG_KEYWORDS);
// Dimensions
directory = metadata.getDirectory(JpegDirectory.class);
String height = directory.getString(JpegDirectory.TAG_JPEG_IMAGE_HEIGHT);
String width = directory.getString(JpegDirectory.TAG_JPEG_IMAGE_WIDTH);
}
本当に素晴らしいです。例を使って実装するのは非常に簡単ですが、私は写真で作業するのが難しいです。私はApertureが抽出者が処理できるよりも多くの情報を追加するかもしれないと思う。私はこのような写真からDimensionsとキーワードを抽出したいと思っています:http://80.167.88.49/masters/test.html –
@Peter Larsen DimensionsとKeywordsを抽出するためのサンプルコードを追加しました。私はあなたのサンプル画像でそれをテストし、それは私のために働く。あなたがもっと助けが必要な場合は教えてください。 –
私は何が起こっているのかわかりませんが、私はあなたがテストしたのと同じ画像で次のエラーを受けています。 –