上次说到关于TIFF格式图像的Metadata实在头文件里边,一般是按照XML格式存储的,标准的TIFF格式文件都会跟一个.tfw的文件。这个文件可以用一般的文件编辑器打开,例如写字本、记事本、WORD之类的,在它里边存储的是6个double类型的数字,有了这些数字就可以正确地进行coordinate变换了。那要是没有这个文件怎么办?那就只能自己提取了,就像下面这样:(当然,还没有优化,提取出来的可能会相当多,且大多自己用不上)
//首先是得到输入的图像文件的Metadata:
File file = new File( "E:\\TIF_picture\\srtm_60_05\\srtm_60_05.tif");
ImageReader reader = getImageReaderBySuffix("tiff");
reader.setInput(ImageIO.createImageInputStream(file), true,false);
IIOMetadata metadata = reader.getImageMetadata(0);
//显示得到的这些TIFFFIELD:
String[] names = metadata.getMetadataFormatNames();
for (int i = 0; i < names.length; ++i) {
System.out.println();
System.out.println("METADATA FOR FORMAT: " + names[i]);
displayTree(metadata.getAsTree(names[i]), 0);
}
//显示TIFFFIELD的树状结构:
String name = node.getNodeName();
System.out.print("><" + name);
if (node.hasAttributes()) {
NamedNodeMap attrs = node.getAttributes();
for (int i = 0, ub = attrs.getLength(); i < ub; ++i) {
Node attr = attrs.item(i);
System.out.print(" " + attr.getNodeName() + "="+attr.getNodeValue());
}
}
if (node.hasChildNodes()) {
。。。。
}
在这儿不方便排版,谅解一下哈。。。
输出:(截取一部分就是了)
><TIFFField number=33550 name=ModelPixelScaleTag>
><TIFFDoubles>
><TIFFDouble value=8.333333333333334E-4/>
><TIFFDouble value=8.333333333333334E-4/>
><TIFFDouble value=0.0/>
></TIFFDoubles>
></TIFFField>
><TIFFField number=33922 name=ModelTiePointTag>
><TIFFDoubles>
><TIFFDouble value=0.0/>
><TIFFDouble value=0.0/>
><TIFFDouble value=0.0/>
><TIFFDouble value=115.0/>
><TIFFDouble value=40.0/>
><TIFFDouble value=0.0/>
></TIFFDoubles>
></TIFFField>
比对一下同学帮我用什么ARCGIS之类的软件提取到的:
0.0008333333
0.0000000000
0.0000000000
-0.0008333333
115.0004166667
39.9995833333
精度上好像没有那么高,够用了。而且,在oracle spatial里边实际使用的时候,也只用115和40就够了。
分享到:
相关推荐
技术运维-机房巡检表及巡检说明
第四次算法分析与设计整理
图像处理项目实战
该资源为jaxlib-0.4.18-cp311-cp311-macosx_11_0_arm64.whl,欢迎下载使用哦!
搭建说明. 运行环境 php5.6 mysql5.6 扩展sg11 前置条件: 前后端分离,需要准备两个域名,一个后台域名,一个前端域名 后端源码修改(cs2.ijiuwu.com批量替换改为你的后端域名)数据库修改(cs3.ijiuwu.com批量替换为你的前端域名)1、创建后台站点,上传后台源码并解压到根目录2、创建前端站点,上传前端源码并解压到根目录 3、创建数据库上传并导入数据库文件 4、修改数据库信息: 后台:app/database.php 前端:application/database.php 前端站点设置 伪静态thinkphp 运行目录public 关闭防跨站 访问后台域名/admin.php进入后台管理 admin 123456 系统-》系统设置-》附件设置-》Web服务器URL 改为你的前端域名 系统-》清前台缓存 改为你的前端域名 点击刷新缓存
【毕业答辩】爆款黑板风教育文艺毕业论文答辩通用模板.pptx
1、文件内容:systemd-devel-219-78.el7_9.9.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/systemd-devel-219-78.el7_9.9.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊
win32汇编环境,对 WM-MOUSEMOVE 消息的理解
车牌识别项目
UE项目开发过程中的一些快捷脚本
lab1的words.txt文件
python、yolo、pytorch
人工智能、大语言模型相关学习资料
图像处理项目实战
python、yolo、pytorch
车牌识别项目
该资源为jaxlib-0.4.18-cp312-cp312-macosx_10_14_x86_64.whl,欢迎下载使用哦!
python、yolo、pytorch
Swift-IOS TODO_List应用开发
图像处理项目实战