`
forcer521
  • 浏览: 28004 次
  • 来自: 北京
社区版块
存档分类
最新评论

使用 metadata-extractor 解析图片 exif 元数据信息

    博客分类:
  • java
阅读更多

import java.io.File;

import com.drew.imaging.ImageMetadataReader;
import com.drew.metadata.Directory;
import com.drew.metadata.Metadata;
import com.drew.metadata.exif.ExifIFD0Directory;
import com.drew.metadata.exif.ExifSubIFDDirectory;

public class TestExif {

	/**
	 * @param args
	 * @throws Exception 
	 * @throws  
	 */
	public static void main(String[] args) throws Exception {
		File imgFile = new File("F:/IMG_0538.JPG");
		Metadata metadata = ImageMetadataReader.readMetadata(imgFile);
        for (Directory directory : metadata.getDirectories()) {

          
            
            if("ExifSubIFDDirectory".equalsIgnoreCase( directory.getClass().getSimpleName() )){
            	
            	//光圈F值=镜头的焦距/镜头光圈的直径
	            System.out.println("光圈值: f/" + directory.getString(ExifSubIFDDirectory.TAG_FNUMBER) );
	            
	            System.out.println("曝光时间: " + directory.getString(ExifSubIFDDirectory.TAG_EXPOSURE_TIME)+ "秒" );
	            System.out.println("ISO速度: " + directory.getString(ExifSubIFDDirectory.TAG_ISO_EQUIVALENT) );
	            System.out.println("焦距: " + directory.getString(ExifSubIFDDirectory.TAG_FOCAL_LENGTH) + "毫米" );
	            
	            System.out.println("拍照时间: " + directory.getString(ExifSubIFDDirectory.TAG_DATETIME_ORIGINAL) );
	            System.out.println("宽: " + directory.getString(ExifSubIFDDirectory.TAG_EXIF_IMAGE_WIDTH) );
	            System.out.println("高: " + directory.getString(ExifSubIFDDirectory.TAG_EXIF_IMAGE_HEIGHT) );
	            
        	}
            
            if("ExifIFD0Directory".equalsIgnoreCase( directory.getClass().getSimpleName() )){
	            System.out.println("照相机制造商: " + directory.getString(ExifIFD0Directory.TAG_MAKE) );
	            System.out.println("照相机型号: " + directory.getString(ExifIFD0Directory.TAG_MODEL) );
	            System.out.println("水平分辨率: " + directory.getString(ExifIFD0Directory.TAG_X_RESOLUTION) );
	            System.out.println("垂直分辨率: " + directory.getString(ExifIFD0Directory.TAG_Y_RESOLUTION) );
            }
        }

	}

}

 

 

 

示例输出如下:

 

光圈值: f/4

曝光时间: 1/500秒

ISO速度: 80

焦距: 6毫米

拍照时间: 2011:06:11 08:05:40

宽: 3648

高: 2736

照相机制造商: Canon

照相机型号: Canon PowerShot SX120 IS

水平分辨率: 180

垂直分辨率: 180


 

 

 

 

 

 

0
2
分享到:
评论

相关推荐

    mediautil+metadata-extractor

    接着是`meduautil-1.0.jar`,这个库可能是为了辅助处理和解析`metadata-extractor`提取出的信息,或者提供更便捷的接口来操作元数据。虽然没有详细信息,我们可以假设它提供了额外的工具或功能,如格式转换、数据...

    metadata-extractor-2.x资源jar包

    在实际应用中,metadata-extractor常用于图片分享平台、地图服务、社交媒体分析等领域,通过元数据获取用户的位置信息、设备信息,或者进行图片分析和管理。同时,它也可以用于保护知识产权,通过添加和验证元数据来...

    metadata-extractor-2.3.1.jar

    《metadata-extractor-2.3.1.jar:深入解析开源图片元数据提取库》 在数字图像处理领域,元数据(Metadata)扮演着至关重要的角色。它包含了图像的各种信息,如拍摄时间、相机型号、地理位置、曝光参数等,对于理解...

    metadata-extractor-2.3.1.jar和mediautil-1.0包

    它能够读取并解析这些文件中的元数据,包括EXIF、XMP、IPTC、GPS等信息。例如,通过这个库,我们可以获取到拍摄日期、相机型号、曝光时间、ISO感光度、地理位置等数据,这对于图像处理、数据分析和内容管理等领域...

    metadata-extractor-2.11.0源码及Jar包

    "metadata-extractor-2.11.0源码及Jar包"是一个针对图像和文档元数据提取的Java库,主要用于解析各种文件格式的元数据。这个包包含了两个关键组件:`metadata-extractor-2.11.0.jar`是编译好的二进制库,可以直接在...

    metadata-extractor.jar

    在数字时代,图像文件不仅包含了我们看到的像素信息,还包含了丰富的元数据(Metadata),这些数据提供了关于图片拍摄时间、地点、设备参数等关键信息。元数据提取库如`metadata-extractor.jar`,在开发中扮演着至关...

    metadata-extractor-master.zip

    使用 "metadata-extractor" 这样的库,开发者可以轻松地访问和解析元数据,例如,获取照片的拍摄日期、相机型号、曝光设置,或者PDF文档的作者、创建日期等信息。这有助于开发出能够智能分析和组织大量媒体文件的...

    metadata-extractor-2.8.1.jar java图片信息获取

    metadata-extractor库是David Coallier开发的一个开源项目,它支持多种图片格式,如JPEG、TIFF、PNG、GIF等,并且可以解析这些格式中的Exif、IPTC、XMP、Photoshop IRB、Adobe XMP等元数据。这个库的核心是`...

    mediautil-1.0和metadata-extractor-2.3.1.jar

    它不仅可以读取EXIF数据,还能解析其他元数据标准,如IPTC(International Press Telecommunications Council)和XMP(Extensible Metadata Platform)。通过这个库,你可以快速地访问到文件的详细信息,如作者、...

    mediautil-1.0和metadata-extractor-2.3.1.jar.zip

    总的来说,"mediautil-1.0"和"metadata-extractor-2.3.1.jar"这两个Java库是处理图像元数据,尤其是EXIF信息的强大工具,它们为开发者提供了便利的接口,使得在Java环境中操作图像文件的元数据变得简单易行。...

    mediautil-1.0和metadata-extractor-2.3.1

    接着,"metadata-extractor-2.3.1"是一个广泛使用的开源Java库,专门设计用于从各种类型的媒体文件中提取元数据,包括EXIF、IPTC、XMP、JFIF等。这个库的强大之处在于它支持多种文件格式,不仅限于JPEG,还包括PNG、...

    修改图片exif信息示例(使用MediaUtil)

    ### 修改图片EXIF信息示例(使用MediaUtil) #### 一、引言 在数字图像处理领域,EXIF(Exchangeable Image File Format)是一种标准格式,用于存储图像文件中的元数据,包括拍摄时间、相机型号、光圈值、快门速度...

    dotnet-MetadataExtractor从图片和电影文件提取ExifIPTCXMPICC等其它元数据

    IPTC(International Press Telecommunications Council)元数据则主要由新闻机构使用,包含描述性信息,如标题、作者、版权信息和新闻标题等,有助于管理和分发新闻图片。 XMP(Extensible Metadata Platform)是...

    exif相关jar包

    Metadata-Extractor库也提供了类似的功能,但它的设计更加模块化,允许你只解析感兴趣的元数据域。它的使用方式如下: ```java import com.drew.metadata.Metadata; import com.drew.metadata.exif.ExifReader; ...

    JAVA读取照片信息 exif

    在Java编程中,读取照片信息,特别是Exif(Exchangeable Image File Format)元数据,是一种常见的需求。Exif信息通常包含拍摄日期、时间、地理位置、相机型号、曝光参数等重要数据,对于图像处理和分析非常有用。在...

    Java获取EXIF所需的jar包

    metadata-extractor的核心功能是解析文件头,识别不同类型的元数据块,并将它们转化为易于使用的Java对象。 使用这个库时,你需要导入metadata-extractor-2.6.2.jar到你的项目类路径中。然后,你可以通过调用`...

    JAVA获取图片EXIF等综合信息并转化为JSON

    在这个例子中,可能使用了`metadata-extractor`,因为它可以方便地处理多种图像格式的元数据,包括EXIF、GPS和IPTC信息。 以下是使用`metadata-extractor`库获取EXIF信息的基本步骤: 1. 添加依赖:在项目中引入`...

    Java读取图片分辨率依赖

    在这个场景中,提到的两个库——`metadata-extractor-2.8.1.jar`和`xmpcore-5.1.2.jar`,是用于读取图片元数据的关键工具。 1. **metadata-extractor**: `metadata-extractor`是一个强大的开源库,由Drew Noakes...

    Java读取图片EXIF信息的方法

    通过以上内容,我们可以了解到Java如何利用`metadata-extractor`库读取并处理图片的EXIF信息,这对于开发需要理解照片元数据的项目至关重要。这个过程不仅提供了关于照片的丰富信息,还可以帮助我们更好地理解和分析...

Global site tag (gtag.js) - Google Analytics