使用 libtiff 的 TIFFReadRawTile 无需解压缩/压缩即可获得 jpeg 磁贴
Using libtiff's TIFFReadRawTile to get a jpeg tile without decompression/compression
我有一个金字塔瓷砖tiff文件,我想提取瓷砖而不解码和重新编码JPEG,我已经看到使用TiffreadRawtile()函数您可以提取RAW瓷砖而无需解码,如何将提取的缓冲区写入可读的JPEG文件?
您要执行的任务不是一个琐碎的任务。您可能需要仔细研究TIFF2PDF实用程序的源代码。该实用程序可以按照您的需求,您可能会从中提取相关零件。
问题是,公用事业公司还需要丢弃许多其他事情。同样,该公用事业公司无法成功处理任何JPEG-IN-TIFF。基本上,因为那里有足够的半折痕。
我发现实际上没有办法在不直接弄乱tiff的霍夫曼表的情况下获取编码的瓷砖,这很棘手。
我发现的唯一方法是阅读解码的瓷砖,然后用VIP进行一些魔术,直接输出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在某些标头后输出图像。
相关文章:
- 当可输入框在窗口中处于活动状态时获得通知的任何方法
- 有没有办法从map::find()获得提升::可选结果?
- 使用GetModuleFilenameEx之后,如何仅获得可执行的名称
- 在向量中使用派生的可移动但不可压缩的会导致编译错误
- OpenSSL X509证书获得弦乐人类可读
- C - 如何获得C 可执行文件的当前目录
- 如何将多个协议缓冲区的消息写入可附加的压缩文件中?
- 在C++中以可移植的方式获得桌面分辨率
- libjpeg:如何获得适当的图像解压缩尺寸
- 使用 libtiff 的 TIFFReadRawTile 无需解压缩/压缩即可获得 jpeg 磁贴
- 如何在C++中获得可更改的函数参数结构
- 计算C++堆栈需求;如何获得可读的交易品种表
- 带有GUI的C++程序,可使用远程放置的相机进行拍摄并读取未压缩的TIFF图像
- 如何从长 N 位中剪切以获得 int 并对其进行处理(并获得可读的 int)
- 如何在linux上获得异步套接字上可读取的字节数
- 可视化需要获得C++中CString数组的大小
- 如何获得项目的可视化地图
- 如何从任何可调用的函数中获得有意义的函数签名
- 在C++17中,可以使用带有初始值设定项的if语句来解压缩可选项
- 按住滚动条可获得在Windows中暂停的命令提示