> 文章列表 > GDAL读取Jpeg2000格式图像

GDAL读取Jpeg2000格式图像

GDAL读取Jpeg2000格式图像

 JPEG-2000标准支持无损和有损压缩,并且支持单图像分量(如灰度图像)和多图像分量(如彩色图像)。除了基本的图像压缩功能外,还支持其他的功能:1)对图像进行按精度或者按分辨率来渐进显示。2)感兴趣编码,就是对不同的图像区域给予不同的精度。3)对图像的某个区域进行随机访问时,不用对整个码流进行解码。4)提供一种灵活的图像格式,这种格式能够分辨出那些是图像数据信息,那些是码流内部信息。5)具有较好的容错性。

以上提到的功能特性都不是遥感图像选择Jpeg2000格式的主要理由,主要原因是它能记录空间坐标系(CRS),本文简要介绍GDAL读取Jpeg2000格式图像的相关知识。

GDAL库中提供了多种读取Jpeg2000的驱动。GDAL库中提供的读取Jpeg2000的驱动有下面几个:

JPEG2000 — Implementation of the JPEG-2000 part 1
JP2ECW – ERDAS JPEG2000 (.jp2)

JP2OpenJPEG — JPEG2000 driver based on OpenJPEG library
JP2KAK – JPEG-2000 (based on Kakadu)
JPIPKAK - JPIP Streaming

其中最常见的是前两种方法。以上的所有的库默认编译都是没有的,都需要第三方库的支持。依赖库分别是libjasper库,ECW库、OpenJPEG、Kakadu、MrSID库(顺序可能有问题哈,本文只用过ECW库库)

如果你也是用的ECW库来实现对JP2K格式的支持,那么编译完依赖库以后,首先用GetDriverByName来获取驱动。

 poDriver = GetGDALDriverManager()->GetDriverByName(pszFormat);

这里的pszFormat,根据你所选的依赖库来确定。

可能是一下三种:

JP2OpenJPEG (rwv): JPEG-2000 driver based on OpenJPEG librar
JPEG2000 (rwv): JPEG-2000 part 1 (ISO/IEC 15444-1)
JP2ECW (rov): ERDAS JPEG2000 (SDK 4.2)

本文的pszFormat取值为JP2ECW。获取到驱动后,读取方法就跟tif一样了。

附:GDAL支持的驱动格式列表

ECW (rov): ERDAS Compressed Wavelets (SDK 4.2)JP2ECW (rov): ERDAS JPEG2000 (SDK 4.2) HDF4 (ros): Hierarchical Data Format Release 4HDF4Image (rw+): HDF4 DatasetHDF5 (ros): Hierarchical Data Format Release 5HDF5Image (ro): HDF5 DatasetMG4Lidar (ro): MrSID Generation 4 / Lidar (.sid)MrSID (rov): Multi-resolution Seamless Image Database (MrSID)JP2MrSID (rov): MrSID JPEG2000netCDF (rw+s): Network Common Data FormatGMT (rw): GMT NetCDF Grid FormatVRT (rw+v): Virtual RasterGTiff (rw+vs): GeoTIFFNITF (rw+vs): National Imagery Transmission FormatRPFTOC (rovs): Raster Product Format TOC formatECRGTOC (rovs): ECRG TOC formatHFA (rw+v): Erdas Imagine Images (.img)SAR_CEOS (rov): CEOS SAR ImageCEOS (rov): CEOS ImageJAXAPALSAR (rov): JAXA PALSAR Product Reader (Level 1.1/1.5)GFF (rov): Ground-based SAR Applications Testbed File Format (.gff)ELAS (rw+v): ELASAIG (rov): Arc/Info Binary GridAAIGrid (rwv): Arc/Info ASCII GridGRASSASCIIGrid (rov): GRASS ASCII GridSDTS (rov): SDTS RasterDTED (rwv): DTED Elevation RasterPNG (rwv): Portable Network GraphicsJPEG (rwv): JPEG JFIFMEM (rw+): In Memory RasterJDEM (rov): Japanese DEM (.mem)GIF (rwv): Graphics Interchange Format (.gif)BIGGIF (rov): Graphics Interchange Format (.gif)ESAT (rov): Envisat Image FormatFITS (rw+): Flexible Image Transport SystemBSB (rov): Maptech BSB Nautical ChartsXPM (rwv): X11 PixMap FormatBMP (rw+v): MS Windows Device Independent BitmapDIMAP (rov): SPOT DIMAPAirSAR (ro): AirSAR Polarimetric ImageRS2 (ros): RadarSat 2 XML ProductPCIDSK (rw+v): PCIDSK Database FilePCRaster (rw): PCRaster Raster FileILWIS (rw+v): ILWIS Raster MapSGI (rw+): SGI Image File Format 1.0SRTMHGT (rwv): SRTMHGT File FormatLeveller (rw+): Leveller heightfieldTerragen (rw+): Terragen heightfieldISIS3 (rov): USGS Astrogeology ISIS cube (Version 3)ISIS2 (rw+v): USGS Astrogeology ISIS cube (Version 2)PDS (rov): NASA Planetary Data SystemTIL (rov): EarthWatch .TILERS (rw+v): ERMapper .ers LabelledJP2OpenJPEG (rwv): JPEG-2000 driver based on OpenJPEG libraryL1B (rovs): NOAA Polar Orbiter Level 1b Data SetFIT (rwv): FIT ImageGRIB (rov): GRIdded Binary (.grb)JPEG2000 (rwv): JPEG-2000 part 1 (ISO/IEC 15444-1)RMF (rw+v): Raster Matrix FormatWCS (rovs): OGC Web Coverage ServiceWMS (rwvs): OGC Web Map ServiceMSGN (ro): EUMETSAT Archive native (.nat)RST (rw+v): Idrisi Raster A.1INGR (rw+v): Intergraph RasterGSAG (rwv): Golden Software ASCII Grid (.grd)GSBG (rw+v): Golden Software Binary Grid (.grd)GS7BG (rw+v): Golden Software 7 Binary Grid (.grd)COSAR (ro): COSAR Annotated Binary Matrix (TerraSAR-X)TSX (rov): TerraSAR-X ProductCOASP (ro): DRDC COASP SAR Processor RasterR (rwv): R Object Data StoreMAP (rov): OziExplorer .MAPPNM (rw+v): Portable Pixmap Format (netpbm)DOQ1 (rov): USGS DOQ (Old Style)DOQ2 (rov): USGS DOQ (New Style)ENVI (rw+v): ENVI .hdr LabelledEHdr (rw+v): ESRI .hdr LabelledGenBin (rov): Generic Binary (.hdr Labelled)PAux (rw+): PCI .aux LabelledMFF (rw+): Vexcel MFF RasterMFF2 (rw+): Vexcel MFF2 (HKV) RasterFujiBAS (ro): Fuji BAS Scanner ImageGSC (rov): GSC GeogridFAST (rov): EOSAT FAST FormatBT (rw+v): VTP .bt (Binary Terrain) 1.3 FormatLAN (rw+v): Erdas .LAN/.GISCPG (ro): Convair PolGASPIDA (rw+): Image Data and AnalysisNDF (rov): NLAPS Data FormatEIR (rov): Erdas Imagine RawDIPEx (rov): DIPExLCP (rwv): FARSITE v.4 Landscape File (.lcp)GTX (rw+v): NOAA Vertical Datum .GTXLOSLAS (rov): NADCON .los/.las Datum Grid ShiftNTv2 (rw+vs): NTv2 Datum Grid ShiftCTable2 (rw+v): CTable2 Datum Grid ShiftACE2 (rov): ACE2SNODAS (rov): Snow Data Assimilation SystemKRO (rw+v): KOLOR RawARG (rwv): Azavea Raster Grid formatRIK (ro): Swedish Grid RIK (.rik)USGSDEM (rwv): USGS Optional ASCII DEM (and CDED)GXF (ro): GeoSoft Grid Exchange FormatHTTP (ro): HTTP Fetching WrapperNWT_GRD (rov): Northwood Numeric Grid Format .grd/.tabNWT_GRC (rov): Northwood Classified Grid Format .grc/.tabADRG (rw+vs): ARC Digitized Raster GraphicsSRP (rovs): Standard Raster Product (ASRP/USRP)BLX (rw): Magellan topo (.blx)Rasterlite (rws): RasterliteSAGA (rw+v): SAGA GIS Binary Grid (.sdat)KMLSUPEROVERLAY (rwv): Kml Super OverlayXYZ (rwv): ASCII Gridded XYZHF2 (rwv): HF2/HFZ heightfield rasterPDF (rw): Geospatial PDFOZI (rov): OziExplorer Image FileCTG (rov): USGS LULC Composite Theme GridE00GRID (rov): Arc/Info Export E00 GRIDZMap (rwv): ZMap Plus GridNGSGEOID (rov): NOAA NGS Geoid Height GridsMBTiles (rov): MBTiles21At MBTiles (rov): 21At MBTilesIRIS (rov): IRIS data (.PPI, .CAPPi etc)WMTS (rwv): OGC Web Mab Tile ServiceCNSDTF (rwv): China Geospatial Data Transfer Grid Format (.grd)LANDSAT (rov): LANDSAT 7/8 GeoTiff with Metadata

参考:

编译支持JPEG2000压缩格式的GDAL(ECW库、OpenJPEG)_openjpeg opencl_鸿儒517的博客-CSDN博客

GDAL库三个读取Jpeg2000格式驱动测试_mb61c3f0ed6fce2的技术博客_51CTO博客