利用JAVA将经纬度写入EXIF中,该怎么处理

Python012

利用JAVA将经纬度写入EXIF中,该怎么处理,第1张

依赖jar:metadata-extractor-2.1.jar

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[]) {

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))

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")

} catch (FileNotFoundException ex) {

System.err.println("file not found")

}

}

}

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压缩比。

你好朋友;

这里面有详细资料;

请你好好看看;

JPEG

求助编辑百科名片

JPEG 是Joint Photographic Experts Group(联合图像专家小组))的缩写;JPEG的压缩方式通常是破坏性资料压缩(lossy compression);意即在压缩过程中图像的品质会遭受到可见的破坏;有一种以JPEG为基础的标准Progressive JPEG是采用无失真的压缩方式;但Progressive JPEG并没有受到广泛的支援;

目录

简介 基本介绍

详细介绍

JPEG2000系统分为下列7个部分

格式

技术概括

总体概述 基本信息

详细信息

特点分析

使用范围

压缩标准

压缩步骤

颜色转换

展开 简介 基本介绍

详细介绍

JPEG2000系统分为下列7个部分

格式

技术概括

总体概述 基本信息

详细信息

特点分析

使用范围

压缩标准

压缩步骤

颜色转换

展开 ;简介

基本介绍

JPEG是Joint Photographic Experts Group(联合图像专家组)的缩写;文件后辍名为".jpg"或".jpeg";这个名称代表Joint Photographic Experts Group(联合;JPEG图片

图像专家组);是一种支持8位和24位色彩的压缩位图格式;适合在网络(Internet)上传输;是非常流行的图形文件格式; JPEG本身只有描述如何将一个影像转换为字节的数据串流(streaming);但并没有说明这些字节如何在任何特定的储存媒体上被封存起来;.jpeg/.jpg是最常用的图像文件格式;由一个软件开发联合会组织制定;是一种有损压缩格式;能够将图像压缩在很小的储存空间;图像中重复或不重要的资料会被丢失;因此容易造成图像数据的损伤;尤其是使用过高的压缩比例;将使最终解压缩后恢复的图像质量明显降低;如果追求高品质图像;不宜采用过高压缩比例;但是JPEG压缩技术十分先进;它用有损压缩方式去除冗余的图像数据;在获得极高的压缩率的同时能展现十分丰富生动的图像;换句话说;就是可以用最少的磁盘空间得到较好的图像品质;而且 JPEG是一种很灵活的格式;具有调节图像质量的功能;允许用不同的压缩比例对文件进行压缩;支持多种压缩级别;压缩比率通常在10:1到40:1之间;压缩比越大;品质就越低;相反地;压缩比越小;品质就越好;比如可以把1.37Mb的BMP位图文件压缩至20.3KB;当然也可以在图像质量和文件尺寸之间找到平衡点;JPEG格式压缩的主要是高频信息;对色彩的信息保留较好;适合应用于互联网;可减少图像的传输时间;可以支持24bit真彩色;也普遍应用于需要连续色调的图像;

详细介绍

JPEG格式是目前网络上最流行的图像格式;是可以把文件压缩到最小的格式;在 Photoshop软件中以JPEG格式储存时;提供11级压缩级别;以0—10级表示;其中0级压缩比最高;图像品质最差;即使采用细节几乎无损的10 级质量保存时;压缩比也可达 5:1;以BMP格式保存时得到4.28MB图像文件;在采用JPG格式保存时;其文件仅为178KB;压缩比达到24:1;经过多次比较;采用第8级压缩为存储空间与图像质量兼得的最佳比例; JPEG格式的应用非常广泛;特别是在网络和光盘读物上;都能找到它的身影;目前各类浏览器均支持JPEG这种图像格式;因为JPEG格式的文件尺寸较小;下载速度快; JPEG2000作为JPEG的升级版;其压缩率比JPEG高约30%左右;同时支持有损和无损压缩;JPEG2000格式有一个极其重要的特征在于它能实现渐进传输;即先传输图像的轮廓;然后逐步传输数据;不断提高图像质量;让图像由朦胧到清晰显示;此外;JPEG2000还支持所谓的"感兴趣区域" 特性;可以任意指定影像上感兴趣区域的压缩质量;还可以选择指定的部分先解压缩;在有些情况下;图像中只有一小块区域对用户是有用的;对这些区域;采用低压缩比;而感兴趣区 域之外采用高压缩比;在保证不丢失重要信息的同时;又能有效地压缩数据量;这就是基于感兴趣区域的编码方案所采取的压缩策略;其优点在于它结合了接收方对压缩的主观需求;实现了交互式压缩;而接收方随着观察;常常会有新的要求;可能对新的区域感兴趣;也可能希望某一区域更清晰些; JPEG2000和JPEG相比优势明显;从无损压缩到有损压缩可以兼容;而JPEG不行;JPEG的有损压缩和无损压缩是完全不同的两种方法;JPEG2000即可应用于传统的JPEG市场;;JPEG图片

如扫描仪、数码相机等;又可应用于新兴领域;如网路传输、无线通讯等等; JPEG(Joint Photographic Experts Group)是在国际标准化组织(ISO)领导之下制定静态图像压缩标准的委员会;第一套国际静态图像压缩标准ISO 10918-1(JPEG)就是该委员会制定的;由于JPEG优良的品质;使他在短短几年内获得了极大的成功;被广泛应用于互联网和数码相机领域;网站上80%的图像都采用了JPEG压缩标准;然而;目前的JPEG静止图像压缩标准,具有中端和高端比特速率上的良好的速率畸变特性;但在低比特率范围内;将会出现很明显的方块效应;其质量变得不可接受;JPEG不能在单一码流中提供有损和无损压缩;并且不能支持大于64×64 K的图像压缩;同时;尽管当前的JPEG标准具有重新启动间隔的规定;但当碰到比特差错时图像质量将受到严重的损坏; 针对这些问题;自1997年3月起;JPEG图像压缩标准委员会开始着手制定新一代的图像压缩标准以解决上述问题;2000年3月的东京会议;确定了彩色静态图像的新一代编码方式JPEG2000图像压缩标准的编码算法;

JPEG2000系统分为下列7个部分

①JPEG2000图像编码系统; ②扩充(给①的核心定义添加更多的;JPEG图片

特征和完善度); ③运动JPEG2000; ④一致性; ⑤参考软件(目前包含Java和C实现); ⑥复合图像文件格式(用于文件扫描和传真应用程序); ⑦对①的最小支持(技术报告); ①为完全被认可的ISO标准;定义了核心压缩技术和最小文件格式;②~⑥定义压缩和文件格式的扩充;其中;①已经制定完成;其余部分还在制定过程中;

;格式

JPEG格式又可分为标准JPEG、渐进式JPEG及JPEG2000三种格式: 1. 标准JPEG格式:此类型图档在网页下载时只能由上而下依序显示图片;直到图片资料全部下载完毕;才能看到全貌; 2. 渐进式JPEG格式:渐进式JPG为标准JPG的改良格式;可以在网页下载时;先呈现出图片的粗略外观后;再慢慢地呈现出完整的内容(就像GIF格式的交错显示);而且存成渐进式JPG格式的档案比存成标准JPG格式的档案要来得小;所以如果要在网页上使用图片;可以多用这种格式; 3. JPEG2000格式:新一代的影像压缩法;压缩品质更好;并可改善无线传输时;常因讯号不稳造成马赛克及位置错乱的情况;改善传输的品质;此外;以往浏览线上地图时总要花许多时间等待全图下载;JPEG2000格式具有Random Access的特性;可让浏览者先从伺服器下载10%的图档资料;在模糊的全图中找到需要的部分后;再重新下载这部分资料即可;如此一来可以大幅缩短浏览地图的时间;

;技术概括

在计算机处理中;JPEG是一种广泛适用的压缩图像标准方式;JPEG就是「联合图像专家组」(JointPhotographicExpertsGroup)的首字母缩写;采; JPEG图片

用这种压缩格式的文件一般就称为JPEG;此类文件的一般扩展名有:.jpeg、.jfif、.jpg或.jpe;其中在主流平台最常见的是.jpg;JPEG只描述一副图像如何转换成一组数据流;而不论这些字节存储在何种介质上;由独立JPEG组创立的另一个进阶标准;JFIF(JPEGFileInterchangeFormat;JPEG文件交换格式)则描述JPEG数据流如何生成适于电脑存储或传送的图像;在一般应用中;我们从数码相机等来源获得的“JPEG文件”;指的就是JFIF文件;有时是ExifJPEG文件; JPEG/JFIF是互联网上最常见的图像存储和传送格式;但此格式不适合用来绘制线条、文字或图标;因为它的压缩方式对这几种图片损坏严重;PNG和GIF文件更适合以上几种图片;不过GIF每像素只支持8bits色深;不适合色彩丰富的照片;但PNG格式就能提供JPEG同等甚至更多的图像细节; JPEG(发音为/jay-peg/)是一种针对相片影像而广泛使用的一种失真压缩标准方法;使用这种压缩的档案格式一般也被称为JPEG;虽然在所有平台上.jpg是最普遍的;但是针对这种格式一般的扩展名是.jpeg、.jfif、.jpg、.JPG、或是.JPE; 这个名称代表JointPhotographicExpertsGroup(联合图像专家小组 );JPEG本身只有描述如何将一个影像转换为字节的数据串流(streaming);但并没有说明这些字节如何在任何特定的储存媒体上被封存起来;一个由独立JPEG小组(IndependentJPEGGroup)所建立的额外标准;称为JFIF(JPEGFileInterchangeFormat;JPEG档案交换格式)详细说明如何从一个JPEG串流;产出一个适合于电脑储存和传输(像是在因特网上)的档案;在普遍的用法;当有人称呼一个"JPEG档案";一般而言他是意指一个JFIF档案;或有时候是一个ExifJPEG档案;然而;也有其他以JPEG为基础的档案格式;像是JNG;JPEG/JFIF是最普遍在万维网(WorldWideWeb)上被用来储存和传输照片的格式;它并不适合于线条绘图(drawing)和其他文字或图示(iconic)的图形;因为它的压缩方法用在这些图形的型态上;会得到不适当的结果(PNG和GIF格式通常是用来针对这种目的之图形;GIF每一像素只有8位元;并不很适合于用在彩色照片;PNG可以被用来无失真地储存照片;但是档案太大让它不适合在网页上放照片); 在ISO公布的JPEG标准方案中;包含了两种压缩方式;一种是基于DCT变换的有损压缩编码方式;它包含了基本功能和扩展系统两部分:一种是基于空间DPCM(差分脉冲编码调制;是预测编码的一种)方法的无损压缩编码方式

;总体概述

基本信息

JPEG是Joint Photographic Experts Group(联合图像专家组)的缩写;文件后辍名为".jpg"或".jpeg";是最常用的图像文件格式;由一个软件开发联合会组织制定;是一种有损压缩格式;能够将图像压缩在很小的储存空间;图像中重复或不重要的资料会被丢失;因此容易造成图像数据的损伤;尤其是使用过高的压缩比例;将使最终解压缩后恢复的图像质量明显降低;如果追求高品质图像;不宜采用过高压缩比例;但是JPEG压缩技术十分先进;它用有损压缩方式去除冗余的图像数据;在获得极高的压缩率的同时能展现十分丰富生动的图像;换句话说;就是可以用最少的磁盘空间得到较好的图像品质;而且 JPEG是一种很灵活的格式;具有调节图像质量的功能;允许用不同的压缩比例对文件进行压缩;支持多种压缩级别;压缩比率通常在10:1到40:1之间;压缩比越大;品质就越低;相反地;压缩比越小;品质;JPEG图片

就越好;比如可以把1.37Mb的BMP位图文件压缩至20.3KB;当然也可以在图像质量和文件尺寸之间找到平衡点;JPEG格式压缩的主要是高频信息;对色彩的信息保留较好;适合应用于互联网;可减少图像的传输时间;可以支持24bit真彩色;也普遍应用于需要连续色调的图像;

详细信息

JPEG格式是目前网络上最流行的图像格式;是可以把文件压缩到最小的格式;在 Photoshop软件中以JPEG格式储存时;提供11级压缩级别;以0—10级表示;其中0级压缩比最高;图像品质最差;即使采用细节几乎无损的10 级质量保存时;压缩比也可达 5:1;以BMP格式保存时得到4.28MB图像文件;在采用JPG格式保存时;其文件仅为178KB;压缩比达到24:1;经过多次比较;采用第8级压缩为存储空间与图像质量兼得的最佳比例; JPEG格式的应用非常广泛;特别是在网络和光盘读物上;都能找到它的身影;目前各类浏览器均支持JPEG这种图像格式;因为JPEG格式的文件尺寸较小;下载速度快; JPEG2000作为JPEG的升级版;其压缩率比JPEG高约30%左右;同时支持有损和无损压缩;JPEG2000格式有一个极其重要的特征在于它能实现渐进传输;即先传输图像的轮廓;然后逐步传输数据;不断提高图像质量;让图像由朦胧到清晰显示;此外;JPEG2000还支持所谓的"感兴趣区域" 特性;可以任意指定影像上感兴趣区域的压缩质量;还可以选择指定的部分先解压缩; JPEG2000和JPEG相比优势明显;且向下兼容;因此可取代传统的JPEG格式;JPEG2000即可应用于传统的JPEG市场;如扫描仪、数码相机等;又可应用于新兴领域;如网路传输、无线通讯等等;

;特点分析

优点:摄影作品或写实作品支持高级压缩;; JPEG图片

利用可变的压缩比可以控制文件大小; 支持交错(对于渐近式JPEG文件); 广泛支持Internet标准; 缺点:有损耗压缩会使原始图片数据质量下降; 当您编辑和重新保存JPEG文件时;JPEG会混合原始图片数据的质量下降;这种下降是累积性的; JPEG不适用于所含颜色很少、具有大块颜色相近的区域或亮度差异十分明显的较简单的图片;

;使用范围

jpg格式是一种图片格式;使一种比较常见的图画格式;; JPEG图片

如果你的图片是其他格式的话;你可以通过以下方法转化: 1、photoshop;打开图画以后;按另存为;下面格式那里选择JPG格式就是了;这个方法比较简单;而且适合画质比较好的;要求比较高的图片转换; 2、如果你要求不高;你直接通过windows附带的图画程序;选择JPG格式就行了;这个来转换的话;画质嘛;马马虎虎;不过在网上嘛;过得去了! 如果JPG格式转其他格式;这样的方法同样适用;

;压缩标准

JPEG(JointPhotographicExpertsGROUP)是由国际标准组织(ISO:InternationalStandardizationOrganization)和国际电话电报咨询委员会(CCITT:ConsultationCommiteeoftheInternationalTelephoneandTelegraph)为静态图像所建立的第一个国际数字图像压缩标准;也是至今一直在使用的、应用最广的图像压缩标准;JPEG由于可以提供有损压缩;因此压缩比可以达到其他传统压缩算法无法比拟的程度; JPEG的压缩模式有以下几种: 顺序式编码(SequentialEncoding) 一次将图像由左到右、由上到下顺序处理; 递增式编码(ProgressiveEncoding) 当图像传输的时间较长时;可将图像分数次处理;以从模糊到清晰的方式来传送图像(效果类似GIF在网络上的传输); 无失真编码(LosslessEncoding) 阶梯式编码(HierarchicalEncoding) 图像以数种分辨率来压缩;其目的是为了让具有高分辨率的图像也可以在较低分辨率的设备上显示;

;压缩步骤

由于JPEG的无损压缩方式并不比其他的压缩方法更优秀;; JPEG图片

因此我们着重来看它的有损压缩;以一幅24位彩色图像为例;JPEG的压缩步骤分为:1.颜色转换 2.DCT变换 3.量化 4.编码 其中编码过程有以下: Z字形编码; 使用DPCM对直流系数(DC)进行编码; 使用RLE对交流系数(AC)进行编码; 熵编码;

;颜色转换

1.颜色转换 由于JPEG只支持YUV颜色模式的数据结构;而不支持RGB图像数据结构;所以在将彩色图像进行压缩之前;必须先对颜色模式进行数据转换;各个值的转换可以通过下面的转换公式计算得出: Y=0.299R+0.587G+0.114B U=-0.169R-0.3313G+0.5B V=0.5R-0.4187G-0.0813B 其中;Y表示亮度;U和V表示颜色; 转换完成之后还需要进行数据采样;一般采用的采样比例是2:1:1或4:2:2;由于在执行了此项工作之后;每两行数据只保留一行;因此;采样后图像数据量将压缩为原来的一半; 2.DCT变换 DCT(DiscreteConsineTransform)是将图像信号在频率域上进行变换;分离出高频和低频信息的处理过程;然后再对图像的高频部分(即图像细节)进行压缩;以达到压缩图像数据的目的; 首先将图像划分为多个8*8的矩阵;然后对每一个矩阵作DCT变换(变换公式此略);变换后得到一个频率系数矩阵;其中的频率系数都是浮点数; 3.量化 由于在后面编码过程中使用的码本都是整数;因此需要对变换后的频率系数进行量化;将之转换为整数; 由于进行数据量化后;矩阵中的数据都是近似值;和原始图像数据之间有了差异;这一差异是造成图像压缩后失真的主要原因; 在这一过程中;质量因子的选取至为重要;值选得过大;可以大幅度提高压缩比;但是图像质量就比较差;反之;质量因子越小(最小为1);图像重建质量越好;但是压缩比越低;对此;ISO已经制定了一组供JPEG代码实现者使用的标准量化值; 4.编码 从前面过程我们可以看到;颜色转换完成到编码之前;图像并没有得到进一步的压缩;DCT变换和量化可以说是为编码阶段做准备; 编码采用两种机制:一是0值的行程长度编码;二是熵编码(EntropyCoding); 在JPEG中;采用曲徊序列;即以矩阵对角线的法线方向作“之”字排列矩阵中的元素;这样做的优点是使得靠近矩阵左上角、值比较大的元素排列在行程的前面;而行程的后面所排列的矩阵元素基本上为0值;行程长度编码是非常简单和常用的编码方式;在此不再赘述; 编码实际上是一种基于统计特性的编码方法;在JPEG中允许采用HUFFMAN编码或者算术编码;词条图册更多图册词条图片(8张)