我有一个金字塔平铺的tiff文件,我想在不解码和重新编码jpeg的情况下提取瓦片,我已经看到使用TIFFReadRawTile()函数可以在不解码的情况下提取原始瓦片,我如何将提取的缓冲区写入可读的jpeg文件?
发布于 2012-11-20 04:10:23
我发现实际上没有办法在不直接处理tiff的huffmann表的情况下获得编码的磁贴,这是相当棘手的。
我找到的唯一方法是读取解码后的瓦片,然后用vips做一些魔术,直接输出到jpeg。
tdata_t buf;
tsize_t len;
buf = _TIFFmalloc( TIFFTileSize( tif ) );
len = TIFFReadEncodedTile(tif, tile, buf, (tsize_t) -1);
VImage result ((void *) buf, 256, 256, 3, VImage::FMTUCHAR);
void *outBuffer;
unsigned long len;
vips_jpegsave_buffer(result, &outBuffer, &len, "Q", 90, NULL);并使用cout在一些标题之后输出图像。
https://stackoverflow.com/questions/12949061
复制相似问题