`
coolpep
  • 浏览: 77110 次
社区版块
存档分类
最新评论

java 读取图片的 Exif 数据

 
阅读更多

包的下载地址:

http://www.drewnoakes.com/code/exif/releases/metadata-extractor-2.2.0.jar

package com.imgread;

import com.drew.metadata.*;
import com.drew.metadata.exif.*;
import com.drew.imaging.jpeg.JpegProcessingException;
import java.io.*;
import java.util.Iterator;

public class EXIFReader {

public static void main(String args[]) throws FileNotFoundException {
File f = new File("c://b.jpg");
try {
ExifReader er = new ExifReader(f);
Metadata exif = er.extract();
Iterator itr = exif.getDirectoryIterator();
while (itr.hasNext()) {
Directory directory = (Directory) itr.next();

System.out.println("EXIF版本:" + directory.getString(ExifDirectory.TAG_EXIF_VERSION));
System.out.println("相机品牌:" + directory.getString(ExifDirectory.TAG_MAKE));
System.out.println("相机型号:" + directory.getString(ExifDirectory.TAG_MODEL));
System.out.println("光 圈 值:" + directory.getString(ExifDirectory.TAG_FNUMBER));
System.out.println("快 門:" + directory.getString(ExifDirectory.TAG_EXPOSURE_TIME));
System.out.println("感 光 度:" + directory.getString(ExifDirectory.TAG_ISO_EQUIVALENT));
System.out.println("软 件:" + directory.getString(ExifDirectory.TAG_SOFTWARE));
System.out.println("原始拍摄时间:" + directory.getString(ExifDirectory.TAG_DATETIME_ORIGINAL));
System.out.println("数字化时间:" + directory.getString(ExifDirectory.TAG_DATETIME_DIGITIZED));
System.out.println("方 向:" + directory.getString(ExifDirectory.TAG_ORIENTATION));
System.out.println("图片宽度:" + directory.getString(ExifDirectory.TAG_EXIF_IMAGE_WIDTH));
System.out.println("图片高度:" + directory.getString(ExifDirectory.TAG_EXIF_IMAGE_HEIGHT));
System.out.println("水平分辨率:" + directory.getString(ExifDirectory.TAG_X_RESOLUTION));
System.out.println("垂直分辨率:" + directory.getString(ExifDirectory.TAG_Y_RESOLUTION));
System.out.println("垂直分辨率:" + directory.getString(ExifDirectory.TAG_EXPOSURE_BIAS));
break;

//获得全部metadata
/*Iterator tags = directory.getTagIterator();
while (tags.hasNext()) {
Tag tag = (Tag) tags.next();
System.out.println(tag);
}
if (directory.hasErrors()) {
Iterator errors = directory.getErrors();
while (errors.hasNext()) {
System.out.println("ERROR: " + errors.next());
}
}*/
}
} catch (JpegProcessingException e) {
System.err.println("not jpeg file");
}

}

}

方法说明:

Image Description 图像描述、来源. 指生成图像的工具
Artist作者 有些相机可以输入使用者的名字
Make 生产者 指产品生产厂家
Model 型号 指设备型号
Orientation方向 有的相机支持,有的不支持
XResolution/YResolution X/Y方向分辨率本栏目已有专门条目解释此问题。
ResolutionUnit分辨率单位 一般为PPI
Software软件 显示固件Firmware版本
DateTime日期和时间
YCbCrPositioning 色相定位
ExifOffsetExif信息位置,定义Exif在信息在文件中的写入,有些软件不显示。
ExposureTime 曝光时间 即快门速度
FNumber光圈系数
ExposureProgram曝光程序指程序式自动曝光的设置,各相机不同,可能是Sutter Priority(快门优先)、Aperture Priority(快门优先)等等。
ISO speed ratings感光度
ExifVersionExif版本
DateTimeOriginal创建时间
DateTimeDigitized数字化时间
ComponentsConfiguration图像构造(多指色彩组合方案)
CompressedBitsPerPixel(BPP)压缩时每像素色彩位 指压缩程度
ExposureBiasValue曝光补偿。
MaxApertureValue最大光圈
MeteringMode测光方式, 平均式测光、中央重点测光、点测光等。
Lightsource光源 指白平衡设置
Flash是否使用闪光灯。
FocalLength焦距,一般显示镜头物理焦距,有些软件可以定义一个系数,从而显示相当于35mm相机的焦距 MakerNote(User Comment)作者标记、说明、记录
FlashPixVersionFlashPix版本 (个别机型支持)
ColorSpace色域、色彩空间
ExifImageWidth(Pixel X Dimension)图像宽度 指横向像素数
ExifImageLength(Pixel Y Dimension)图像高度 指纵向像素数
Interoperability IFD通用性扩展项定义指针和TIFF文件相关,具体含义不详
FileSource源文件 Compression压缩比。

分享到:
评论

相关推荐

    JAVA读取照片信息 exif

    使用方法 加上一个用到的jar包metadata-extractor-2.3.1.jar

    适用于 Android 的 Java图像元数据操作工具_java_代码_下载

    读取 TIFF 中嵌入的 EXIF 数据。 JPEG 和 TIFF ICC 配置文件支持 将 ICC 配置文件插入 JPEG 和 TIFF。 从 JPEG 和 TIFF 中提取 ICC 配置文件。 JPEG 和 TIFF IPTC 元数据支持 通过 RichTiffIPTC 标签将 IPTC 直接...

    PhotoEXIF:通过Java读取和写入照片的EXIF

    PhotoEXIFRead and Write EXIF of a photo by Java##为什么写这个项目一个刚工作不久的小朋友问了我修改照片EXIF的问题,白天太忙,就只能晚上帮他看看。结果自己试了之后,也碰到相同的问题。既然答应了,就要努力...

    pixymeta-android:适用于Android的Java图像元数据操作工具

    读取嵌入在TIFF中的EXIF数据。 JPEG和TIFF ICC配置文件支持 将ICC配置文件插入JPEG和TIFF。 从JPEG和TIFF中提取ICC配置文件。 JPEG和TIFF IPTC元数据支持 通过RichTiffIPTC标签将IPTC直接插入TIFF。 通过APP13 ...

    关于Java 如何采用 metadata-extractor 读取数码相机 Exif 数据信息的代码.pdf

    metadata-extractor依赖引入

    exif相关jar包

    用于Java读取图像和视频的元数据,这些都是相关的jar包

    元数据提取器:从图像,视频和音频文件中提取Exif,IPTC,XMP,ICC和其他元数据

    元数据提取器是一个Java库,用于从媒体文件中读取元数据。 安装 最简单的方法是通过其安装该库。 < groupId>com.drewnoakes</ groupId> < artifactId>metadata-extractor < version>2.15.0 或者,从下载它。 ...

    metadata-extractor源码及Jar包

    metadata-extractor源码及Jar包。...metadata-extractor用于获取图像的Exif信息,Exif(Exchangeable Image File)是可交换图像文件的缩写,是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。

    jExifToolGUI:jExifToolGUI是Phil Harvey出色的命令行ExifTool应用程序的多平台javaSwing图形前端。

    它从/向许多文件读取和写入元数据信息,但主要集中在照片/图像上。 它读取/写入exif,gps,xmp,许多相机的制造商注释,JFIF,GeoTIFF,ICC配置文件,Photoshop IRB,FlashPix和许多其他标签。 它可以使用“参考”...

    mExifer-开源

    一个小型100%Java库,用于从jpeg文件读取/编辑/写入exif数据。

    camerawithGoogleVisionApi:带有camera2 API的Google Vision

    Camera2Vision 该示例将使您使用Camera1 API和... 您将必须读取图片中嵌入的EXIF数据,以获取旋转信息并使用Matrix手动翻转。测验经过测试并致力于: LG Nexus 5(API等级:23) 三星Galaxy S4(API级别:22) 三星Gal

    simple-storage

    从图像中读取EXIF信息并将其存储。 为网络画廊创建缩略图。 将图像标记为公开可直接通过S3-Link访问它们。 (部分完成) 如何使用它: 上载图片:POST / images // data 检查上载状态:GET / images // status...

    Metaphile-开源

    Metaphile是一个用于读取图像元数据的Java库。 它支持JFIF,JFXX,IPTC IIM(V3和V4),EXIF(2.1和2.2)和XMP(Dublin Core,Photoshop,Iptc4XMPCore,权限管理)

    Coding-Challenge:Android 编程挑战

    在照片 exif 数据中记录 GPS 坐标[如果 GPS 不可用,无法从 WIFI/移动网络获取坐标] ii.查看时将所选图像的纬度和对数显示为 Toast 消息。 [如果 GPS 坐标不可用,则两者均显示 0.0f] 三、 除了查看 Dropbox 文件夹...

    cordova-plugin-photos:此CordovaPhonegap插件可访问设备上的照片库

    请注意,此插件仅处理照片图像,而不处理视频或任何其他媒体数据。 内容 例子 获取照片的原始数据image() 争论 回呼 例子 停止较长的提取过程cancel() 例子 更多信息 使用 安装插件 $ cordova plugin add ...

    Google Android SDK开发范例大全(第3版) 1/5

    7.24 EXIF照片信息编辑及读取 7.25 声音音效均衡器、重低音与音场控制 7.26 在自定义的SurfaceView上绘制动画 第8章 当Android与Internet接轨 8.1 HTTP GET/POST传递参数 8.2 在程序里浏览网页 8.3 嵌入HTML标记的...

    Google Android SDK开发范例大全(第3版) 4/5

    7.24 EXIF照片信息编辑及读取 7.25 声音音效均衡器、重低音与音场控制 7.26 在自定义的SurfaceView上绘制动画 第8章 当Android与Internet接轨 8.1 HTTP GET/POST传递参数 8.2 在程序里浏览网页 8.3 嵌入HTML标记的...

    Google Android SDK开发范例大全(第3版) 3/5

    7.24 EXIF照片信息编辑及读取 7.25 声音音效均衡器、重低音与音场控制 7.26 在自定义的SurfaceView上绘制动画 第8章 当Android与Internet接轨 8.1 HTTP GET/POST传递参数 8.2 在程序里浏览网页 8.3 嵌入HTML标记的...

    Google Android SDK开发范例大全(第3版) 5/5

    7.24 EXIF照片信息编辑及读取 7.25 声音音效均衡器、重低音与音场控制 7.26 在自定义的SurfaceView上绘制动画 第8章 当Android与Internet接轨 8.1 HTTP GET/POST传递参数 8.2 在程序里浏览网页 8.3 嵌入HTML标记的...

Global site tag (gtag.js) - Google Analytics