我有一個金字塔平鋪的tiff文件,我想提取沒有解碼和重新編碼jpeg的圖塊,我已經看到使用TIFFReadRawTile()函數可以提取未經解碼的原始瓦片,我如何將提取的緩衝區寫入可讀的jpeg文件?使用libtiff的TIFFReadRawTile得到沒有解壓縮/壓縮的JPEG圖塊
0
A
回答
0
我發現實際上沒有辦法直接搞亂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在一些標題後輸出圖像。
0
你正在做的任務不是一件小事。你可能想仔細看看tiff2pdf工具的源代碼。該實用程序可以完成您所需的任務,並且可以從中提取相關的部分。
問題是,該實用程序會做很多其他事情,你將不得不放棄。此外,該實用程序不能成功處理任何JPEG-in-TIFF。基本上,因爲有足夠的半破TIFFs在那裏。
相關問題
- 1. JPEG圖像壓縮
- 2. 如何使用無損方法壓縮和解壓縮JPEG?
- 3. JPEG壓縮C#
- 4. JPEG壓縮
- 5. jpeg壓縮比
- 6. 嘗試壓縮圖像(Gzip + Jpeg),然後解壓縮它們
- 7. Java壓縮和解壓縮byte []塊
- 8. PHP GD壓縮PNG,但不壓縮Jpeg
- 9. 使用java.util.zip壓縮得到解壓縮充氣錯誤
- 10. 解壓縮(解壓縮)由.net壓縮(解壓縮)的文件.net system.io.compression.gzipstream
- 11. JPEG - >更多壓縮JPEG - 值得嗎?
- 12. 使用Compression.DeflateStream壓縮和解壓縮流
- 13. TDD和JPEG壓縮
- 14. DeflateStream壓縮/解壓縮inconsitency
- 15. Asmx Webservice壓縮/解壓縮?
- 16. Java LZW壓縮和解壓縮圖像
- 17. 解壓縮PVRTC壓縮圖像格式?
- 18. RLE使用java壓縮解壓圖像
- 19. JPEG壓縮和解壓縮一遍又一遍
- 20. jpeg圖像的快速解壓縮和重新縮放算法
- 21. 的zlib壓縮/解壓縮Linux編程
- 22. 如何解壓縮壓縮的內核
- 23. 壓縮解壓縮的exe文件
- 24. png文件的壓縮和解壓縮
- 25. 解壓縮和解壓縮建議?
- 26. 解壓縮使用的sed
- 27. glassfish響應沒有得到gzip壓縮
- 28. JPEG圖像壓縮中的量化
- 29. zlib,如何解壓縮壓縮數據塊的流?
- 30. Windows壓縮文件夾沒有完全解壓縮zip
讓我檢查一下tiff2pdf的源代碼,順便說一句,JPEG-in-TIFF總是由我使用vips2tiff命令製作的,所以它總是以相同的格式轉換。其實我只是把它與TIFFReadEncodedTile()一起工作到一個vips圖像,但我希望如果可能跳過解碼/編碼部分 – alex88
不幸的是,我對vips2tiff一無所知,所以我不能說這是一個比起始點好的起點tiff2pdf。 – Bobrovsky
不要擔心,只是TIFFReadEncodedTile解碼JPEG,RAW版本會返回編碼的JPEG,但我認爲您需要添加一些jpeg元數據 – alex88