GeoTiff如何存储颜色表的研究

来源:互联网 发布:达观数据 冯佳妮 编辑:程序博客网 时间:2024/04/28 16:16

作者:朱金灿

来源:http://blog.csdn.net/clever101

 

        在一次偶然的机会中得知tiff图像时可以存诸颜色表的,心想以后用GeoTiff来保存图像分类图像就十分方便了。于是研究了如何创建带有颜色表的tif图像,写了一段代码。

 

代码如下:

#include "geotiffio.h"#include "xtiffio.h"#include <stdlib.h>void CreateTif(){char *fname = "D:\\newgeo.tif";TIFF *tif=(TIFF*)0; /* TIFF-level descriptor */GTIF *gtif=(GTIF*)0; /* GeoKey-level descriptor */    // 创建tif图像tif=XTIFFOpen(fname,"w");if (!tif) goto failure;gtif = GTIFNew(tif);if (!gtif){printf("failed in GTIFNew\n");goto failure;}   //设置标签,表明这是索引图像TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_PALETTE);   //创建颜色表uint16 *r, *g, *b;r = (uint16 *) _TIFFmalloc(sizeof(uint16) * 3 * 256);g = r + 256;b = g + 256;for (int i = 255; i >= 0; i--) {b[i] = i;g[i] = i;r[i] = i;}//将颜色表写入到tif图像中TIFFSetField(tif, TIFFTAG_COLORMAP, r, g, b);_TIFFfree(r);return;failure:printf("failure in makegeo\n");if (tif) TIFFClose(tif);if (gtif) GTIFFree(gtif);return;}

        需要要到的第三方库是:geotiff库和libtiff库。

 

参考文献:

 

1.   用libtiff库写标准.tif传真文件

 

2.   用libtiff 进行图形编程


3. libtiff中的tag标签含义




0 0