GDAL对图像文件格式的转换
我们常常在图像处理过程中遇到不同软件或程序要求输入的图像格式不同(有些程序或软件支持的数据格式不是常用的Tiff,Img等数据格式),因此需要对不同的数据格式相互进行转换。 我这里以GTiff(.tif)数据转换为PCRaster(.map)数据为例。
首先需要安装GDAL,我这里是在Anaconda上直接安装了基于Python的GDAL,可以在下面网站自行下载,https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal 例如下面对应的就是Python3.8版本的GDAL。
安装好后可在Anaconda的Prompt中直接使用gdal_translate.exe直接实现转换,转换方法如下:
gdal_translate [--help-general][-ot {Byte/Int16/UInt16/UInt32/Int32/Float32/Float64/CInt16/CInt32/CFloat32/CFloat64}] [-strict][-if format]* [-of format][-b band]* [-mask band] [-expand {gray|rgb|rgba}][-outsize xsize[%]|0 ysize[%]|0] [-tr xres yres][-r {nearest,bilinear,cubic,cubicspline,lanczos,average,rms,mode}][-unscale] [-scale[_bn] [src_min src_max [dst_min dst_max]]]* [-exponent[_bn] exp_val]*[-srcwin xoff yoff xsize ysize] [-epo] [-eco][-projwin ulx uly lrx lry] [-projwin_srs srs_def][-a_srs srs_def] [-a_ullr ulx uly lrx lry] [-a_nodata value][-a_scale value] [-a_offset value][-nogcp] [-gcp pixel line easting northing [elevation]]*|-colorinterp{_bn} {red|green|blue|alpha|gray|undefined}]|-colorinterp {red|green|blue|alpha|gray|undefined},...][-mo "META-TAG=VALUE"]* [-q] [-sds][-co "NAME=VALUE"]* [-stats] [-norat] [-noxmp][-oo NAME=VALUE]*src_dataset dst_dataset
根据需求,输入相关的参数进行转换,不需要的参数可以忽略。主要参数说明(其他参数详细见GDAL官方文档 gdal_translate — GDAL 文档):
-ot 强制输出图像带具有驱动程序支持的特定数据类型,该数据类型可以是以下类型之一: Byte
, UInt16
, Int16
, UInt32
, Int32
, Float32
, Float64
, CInt16
, CInt32
, CFloat32
或 CFloat64
.
-if 试图打开输入文件的格式/驱动程序名称。通常不需要指定它,但当它无法选择适当的驱动程序时,可以使用它跳过自动驱动程序检测。
-of 选择输出格式。从GDAL 2.3开始,如果未指定,则从扩展名猜测格式。
-b 选择输入波段 band 输出,从1开始编号。
-mask 选择输入波段 band 创建输出数据集掩码带区。
-tr 设定目标分辨率。这些值必须用地理参考单位表示。两者都必须是正值。
-r 采样方式,有nearest (default),bilinear,cubic,cubicspline,lanczos,average,rms,mode
<src_dataset>
源数据集名称。它可以是文件名、数据源的URL或多数据集文件的子数据集名称。
<dst_dataset>
目标文件名。
支持的数据格式有:
VRT: Virtual Raster
GTiff: GeoTIFF
NITF: National Imagery Transmission Format
HFA: Erdas Imagine Images (.img)
ELAS: ELAS
AAIGrid: Arc/Info ASCII Grid
DTED: DTED Elevation Raster
PNG: Portable Network Graphics
JPEG: JPEG JFIF
MEM: In Memory Raster
GIF: Graphics Interchange Format (.gif)
XPM: X11 PixMap Format
BMP: MS Windows Device Independent Bitmap
PCIDSK: PCIDSK Database File
PCRaster: PCRaster Raster File
ILWIS: ILWIS Raster Map
SRTMHGT: SRTMHGT File Format
Leveller: Leveller heightfield
Terragen: Terragen heightfield
PNM: Portable Pixmap Format (netpbm)
ENVI: ENVI .hdr Labelled
EHdr: ESRI .hdr Labelled
PAux: PCI .aux Labelled
MFF: Vexcel MFF Raster
MFF2: Vexcel MFF2 (HKV) Raster
BT: VTP .bt (Binary Terrain) 1.3 Format
IDA: Image Data and Analysis
ERS: ERMapper .ers Labelled
FIT: FIT Image
RMF: Raster Matrix Format
RST: Idrisi Raster A.1
INGR: Intergraph Raster
GSAG: Golden Software ASCII Grid (.grd)
GSBG: Golden Software Binary Grid (.grd)
USGSDEM: USGS Optional ASCII DEM (and CDED)
ADRG: ARC Digitized Raster Graphics
使用实例:
我这里将GTiff(.tif)数据转换为PCRaster(.map)数据,其他信息不变,但是出现了报错,大致内容是数据驱动上的问题。
我再在参数中加入了数据 -ot(强制输出图像带具有驱动程序支持的特定数据类型)参数,转换成功。gdal_translate -ot Float32 -of PCRaster D:\data\DEM.tif D:\data\DEM_test.map
当然,gdal_translate工具还可以实现更改投影系统、波段选择、图像裁剪、调整图像分辨率等功能,只需要用好相关的参数即可。
GDAL对图像文件格式的转换相关推荐
- 学习笔记——【python】GetGeoTransform()使用,gdal截取图像,使用GDAL进行影像投影坐标、地理坐标、图上坐标的转换
1. GetGeoTransform()使用.gdal截取图像 GetGeoTransform() GeoTransform[0],左上角横坐标(应该是投影坐标) GeoTransform[2],行旋 ...
- gdal读写图像分块处理
转自赵文原文 gdal读写图像分块处理(精华版) Review: 用gdal,感觉还不如直接用C++底层函数对遥感数据进行处理.因为gdal进行太多封装,如果你仅仅只是Geotif等格式进行处理,IO ...
- .net core image怎么保存_C# 将PDF转为多种Image图像文件格式(Png/Bmp/Emf/Tiff)
PDF是一种在我们日常工作学习中最常用到的文档格式之一,但常常也会因为文档的不易编辑的特点,在遇到需要编辑PDF文档内容或者转换文件格式的情况时让人苦恼.通常对于开发者而言,可选择通过使用组件的方式来 ...
- BMP(图像文件格式(Bitmap))
BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广.它采用位映射存储格式,除了图像深度可选以外,不采用其他 ...
- TGA图像文件格式分析
什么是TGA? TGA(Targa)格式是计算机上应用最广泛的图象格式.在兼顾了BMP的图象质量的同时又兼顾了JPEG的体积优势 .并且还有自身的特点: 通道效果.方向性 .在CG领域常作为影视动画的 ...
- TGA图像文件格式解析
文章目录 一.TGA图像文件格式概述 1. 图像格式 2. 结构 3. 压缩 二.TGA格式解析(含实例分析) 三.总结 1. 六种图像类型 2. tga应用模式 一.TGA图像文件格式概述 1. 图 ...
- 图形图像文件格式分类
图形图像文件大致上可以分为两大类:一类为位图文件:另一类称为描绘类.矢量 类或面向对象图形图像文件.前者以点阵形式描述图形图像,后者是以数学方法描 述的一种由几何元素组成的图形图像.一般说来,后者对图 ...
- JPG、PNG、BMP、RAW傻傻分不清楚?一文帮你解析常见的图像文件格式及其差异
https://www.sohu.com/a/468617858_120293876 文章目录 第1部分.什么是图像文件 第2部分.JPG vs JPEG vs JPEG 2000 1.什么是JPEG ...
- Tencent QQ皮肤图像文件格式Gft转png或bmp源代码
Tencent QQ皮肤图像文件格式Gft转png或bmp源代码 转载自CSDN,另附Delphi版代码: http://topic.csdn.net/u/20111121/14/E545FC21-4 ...
最新文章
- jquery初始化的三种方式
- 在Postgres中为插入语句生成UUID?
- 华为2021在美专利数量首次进前五,超越英特尔苹果微软
- postgreSQL的应用
- 使用hibernate和struts2实现分页功能
- PHP的静态方法与普通方法
- 打开git界面_使用 Gitea 快速搭建私有 Git 版本控制服务
- Codeforces Round #364 (Div. 2)C. They Are Everywhere(尺取法)
- Silverlight使用DataGrid的模板列(DataGridTemplateColumn)实现类似TreeListView控件的效果
- 拿到软银巨额投资后,通用无人车部门Cruise可能要单独IPO了
- Tomcat配置Basic认证方案(一)
- 第15组构建之法团队心得
- cas 怎么过滤带pathvariable_过滤材料怎么摆?记住这个“公式”就好~
- java项目ppt介绍_Java软件工程与项目案例教程ppt模板
- 桌面时间的最佳管理者-软媒时间
- VsCode必备插件
- maya! board_老司机都在用的30款maya常用插件
- C++程序设计语言练习4.2 茴字的几种写法
- document 常用事件
- 逻辑机房(LDC)是什么
热门文章
- java毕业设计房产销售平台Mybatis+系统+数据库+调试部署
- VS中ID号的格式ID_,IDS_,IDC_之间有什么区别
- Java毕设项目蛋糕店会员系统(java+VUE+Mybatis+Maven+Mysql)
- VUE 之 AXIOS请求
- 【keepalived】配置文件
- SQLServer查询多条件统计总数
- ucharts提示窗tooltips自定义format配置,换行展示标题
- c语言二进制转八进制数
- 手表控android+wear,鼠标和键盘都不用 用Android Wear手表控制PC
- mysql的float取值范围_MYSQL中支持的数据类型及取值范围