`
shappy1978
  • 浏览: 703023 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

About libTIFF

 
阅读更多

CCITT Group 4 compression, also referred to as G4 or Modified Modified READ (MMR), is a lossless method of image compression used in Group 4 fax machines defined in the ITU-T T.6 fax standard. It is only used for bitonal (black and white) images. Group 4 compression is based on the Group 3 two-dimensional compression scheme (G3-2D), also known as Modified READ, which is in turn based on the Group 3 one-dimensional compression scheme (G3), also known as Modified Huffman coding. Group 4 compression is available in many proprietary image file formats as well as standardized formats such as TIFF, CALS, and the PDF document format.

G4 offers a small improvement over G3-2D by removing the end of line (EOL) codes. G3 and G4 compression both treat an image as a series of horizontal black strips on a white page. Better compression is achieved when there are fewer unique black dots/lines on the page. Both G3-2D and G4 add a two dimensional feature to achieve greater compression by taking advantage of vertical symmetry. A worst-case image would be an alternating pattern of single-pixel black and white dots offset by one pixel on even/odd lines. G4 compression would actually increase the file size on this type of image. G4 typically achieves a 20:1 compression ratio.[citation needed] For an 8.5"x11" page scanned at 200 DPI, this equates to a reduction from 456.54 kB to 22.82 kB (95% compression ratio).

 

//*********************** About JBIG2

JBIG2 is an image compression standard for bi-level images, developed by the Joint Bi-level Image Experts Group. It is suitable for both lossless and lossy compression. According to a press release[1] from the Group, in its lossless mode JBIG2 typically generates files one third to one fifth the size of Fax Group 4 and one half to one quarter the size of JBIG, the previous bi-level compression standard released by the Group. JBIG2 has been published in 2000 as the international standard ITU T.88,[2] and in 2001 as ISO/IEC 14492.[3]

 

libTiff.Net:

http://bitmiracle.com/libtiff/

https://bitmiracle.github.io/libtiff.net/?topic=html/c3b8a067-673b-42d0-9d38-991c8964d125.htm

https://github.com/BitMiracle/libtiff.net

http://www.remotesensing.org/libtiff/  //C lib

 

* libTiff do not implement JBIG/JIBG2, it just a placeholder in the compression.

//*********************************************

TIFF is the format of choice for archiving important images. TIFF is THE leading commercial and professional image standard. TIFF is the most universal and most widely supported format across all platforms, Mac, Windows, Unix. Data up to 48 bits is supported.

TIFF supports most color spaces, RGB, CMYK, YCbCr, etc. TIFF is a flexible format with many options. The data contains tags to declare what type of data follows. New types are easy to invent, and this versatility can cause incompatibly, but about any program anywhere will handle the standard TIFF types that we might encounter. TIFF can store data with bytes in either PC or Mac order (Intel or Motorola CPU chips differ in this way). This choice improves efficiency (speed), but all major programs today can read TIFF either way, and TIFF files can be exchanged without problem.

Several compression formats are used with TIF. TIF with G3 compression is the universal standard for fax and multi-page line art documents (line art).

For photographic images, TIFF image files can use LZW lossless compression. Lossless means there is no quality loss due to compression. Lossless guarantees that you can always read back exactly what you thought you saved, bit-for-bit identical, without data corruption. This is a critical factor for archiving master copies of important images. Most image compression formats are lossless, with JPG and Kodak PhotoCD PCD files being the main exceptions.

Compression works by recognizing repeated identical strings in the data, and replacing the many instances with one instance, in a way that allows unambiguous decoding without loss. This is fairly intensive work, and any compression method makes files slower to save or open.

LZW is most effective when compressing solid indexed colors (graphics), and is less effective for 24 bit continuous photo images. Featureless areas compress better than detailed areas. LZW is more effective for grayscale images than color. LZW is often counter-productive for 48 bit images, the 16 bit TIF file using LZW will probably be considerably larger than one with no compression. (VueScan 48 bit TIF LZW is an exception to this, using an efficient data type that not all others use ).

LZW is Lempel-Ziv-Welch, named for Israeli researchers Abraham Lempel and Jacob Zif who published IEEE papers in 1977 and 1978 (now called LZ77 and LZ78) which were the basis for most later work in compression. Terry Welch built on this, and published and patented a compression technique that is called LZW now. This is the 1984 Unisys patent (now Sperry) involved in TIF LZW and GIF (and V.42bis for modems). There was much controversy about a royalty for LZW for GIF, but royalty was always paid for LZW for TIF files and for v.42bis modems. International patents recently expired in mid-2004.

It is not necessary to say much about TIF. It works, it's important, it's great, it's practical, it's the standard universal format for high quality images, it simply does the best job the best way. Give TIF very major consideration, both for photos and documents, especially for archiving anything where quality is important.

But TIF files for photo images are generally pretty large. Uncompressed TIFF files are about the same size in bytes as the image size in memory. Regardless of the novice view, this size is a plus, not a disadvantage. Large means lots of detail, and it's a good thing. 24 bit RGB image data is 3 bytes per pixel. That is simply how large the image data is, and TIF LZW stores it with recoverable full quality in a lossless format (and again, that's a good thing). Large disks are inexpensive today.

There are situations for less serious purposes when the full quality may not always be important or necessary. JPEG files are much smaller, and are suitable for non-archival purposes, like photos for read-only email and web page use, when small file size may be more important than maximum quality. JPG has its important uses, but be aware of the large price in quality that you must pay for the small size of JPG, it is not without cost.


分享到:
评论

相关推荐

    libtiff4.1及jpeg zip静态库windows

    Please see the libtiff home page for more information about libtiff and to download source code, executable libraries, and documentation. Until recently TIFF files were limited in size to 4GB. A new...

    LibTiff库

    LibTiff库是一款开源的、跨平台的库,专门用于处理TIFF(Tagged Image File Format)图像文件。TIFF是一种灵活的位图格式,广泛应用于扫描仪、图像编辑软件和打印机等行业,支持多种颜色模式和压缩算法。LibTiff库...

    libtiff.so.5.2.0

    《Linux系统下的libtiff组件详解——以libtiff.so.5.2.0与libtiffxx.so.5.2.0为例》 在Linux操作系统中,动态链接库是程序运行的重要组成部分,它们提供了共享代码的方式,节省了内存资源并简化了软件更新。libtiff...

    libtiff(源码+静态库)

    **libtiff 知识点详解** Libtiff是一个开源的跨平台库,主要用于处理TIFF(Tagged Image File Format)格式的图像文件。TIFF是一种广泛使用的位图图像文件格式,尤其在专业扫描仪、图像编辑软件以及存档应用中。...

    libtiff库,内含lib静态库与dll动态连接文件

    **libtiff库详解** **一、libtiff库介绍** `libtiff`是一个开源的C语言库,专门用于处理Tagged Image File Format (TIFF)图像文件。TIFF是一种广泛使用的位图图像格式,尤其在专业图像处理、扫描仪和打印机等领域...

    libtiff库函数配置文件

    在Windows开发环境中,使用Visual Studio 2013进行C++编程时,有时候我们需要集成第三方库来扩展功能,比如libtiff库。libtiff是一个开源库,主要用于处理TIFF(Tagged Image File Format)图像文件,它提供了读取、...

    libtiff头文件及库

    在C++项目中使用libtiff,首先需要将解压后的libtiff库的头文件(通常为`tif_fax3.h`, `tif_dir.h`等)添加到项目的包含路径中,然后链接对应的库文件(如`libtiff.lib`或`-ltiff`)。接下来,可以使用libtiff提供的...

    libtiff.lib.rar,libtiff库文件,包含.dll以及.lib

    标签"libtiff"、"TIFF"、"libtiff.dll" 和 "libtiff.lib" 都是与TIFF文件格式和libtiff库相关的关键词。"libtiff.dll" 表明还有动态链接库版本的存在,它可以在运行时被多个程序共享,节省内存资源。"TIFF" 是文件...

    最新版本bitmiracle.libtiff

    **BitMiracle.LibTiff.NET** 是一个针对 .NET 平台的开源库,专门用于处理 TIFF(Tagged Image File Format)图像文件。这个库提供了丰富的功能,包括读取、写入、编辑以及转换 TIFF 文件。在【描述】中提到的“tif...

    64位的libtiff和libgeotiff编译方法

    在编译过程中,可能会出现链接错误,无法打开输入文件“..\libtiff\libtiff\libtiff_i.lib”,这时需要将编译好的libtiff库的libtiff_i.lib文件复制到D:\libtiff\libtiff目录下。 5. 编译完成后,在D:\libgeotiff-...

    libtiff.so.3

    libtiff.so.3

    libtiff-3.9.1源代码

    《深入解析libtiff-3.9.1源代码:构建高效图像处理能力》 libtiff是一个开源的、跨平台的库,专门用于处理TIFF(Tagged Image File Format)格式的图像文件。TIFF是一种广泛应用于扫描仪、打印机、图像编辑软件和...

    libtiff for VC&VS.NET tiff库

    libtiff-cygwin-port.tar.gz libtiff-mingw-port.tar.gz libtiff-vc-vs.net-port.rar 说明: 所有这些PORTS项目都是horse_b的个人制作,2001年我为NIDS系统软件SNORT项目做了一个WIN32-Port的项目...

    libtiff-4.0.4已编译

    **TIFF 图像格式与 Libtiff 库详解** TIFF(Tagged Image File Format)是一种灵活的位图图像格式,广泛用于扫描仪和光栅图形软件之间交换数据。它支持多种压缩算法,如无损LZW、JPEG、Packbits等,以及多种色彩...

    libtiff windows 库加头文件

    1. **获取库文件**:你需要先从官方网站或者其他可靠的源下载`libtiff`的Windows版本,确保包含库文件(如`libtiff.lib`)和头文件(通常在`include`目录下,如`tiff.h`)。 2. **添加到项目**:将`libtiff.lib`复制...

    编译后的 libtiff 库

    **编译后的 libtiff 库** Libtiff 是一个开源的库,专门用于处理 TIFF(Tagged Image File Format)图像文件格式。TIFF是一种通用的图像存储格式,广泛应用于扫描仪、数字相机以及图像处理软件中。它支持多种色彩...

    libtiff-0.4.2.tar.gz

    **TIFF库与libtiff-0.4.2** TIFF(Tagged Image File Format)是一种广泛用于存储图像文件的格式,尤其在专业图像处理、扫描仪和数字相机领域中非常常见。它支持多种色彩空间,包括灰度、彩色、多层图像,并允许...

    libtiff 64位库

    **libtiff 64位库详解** libtiff是一个开源的库,专门用于处理TIFF(Tagged Image File Format)格式的图像文件。TIFF是一种灵活的位图图像格式,广泛应用于专业图像处理、扫描仪和打印机领域。libtiff库提供了在...

    libtiff-4.0.9完整版已编译(最新版2018)

    描述提到"libtiff-4.0.9完整版已编译,动态库在tiff-4.0.9/libtiff/内,提供tiff图像处理基础操作",这暗示了libtiff库的核心组件,包括动态链接库,位于解压后的目录结构中的"tiff-4.0.9/libtiff/"子目录下。...

    libtiff-source-code-for-vs2013-or-lower

    《libtiff源代码在VS2013及更低版本的编译与应用》 libtiff是一款开源的跨平台库,用于处理TIFF(Tagged Image File Format)图像格式。这个库提供了读取、写入和编辑TIFF文件的功能,广泛应用于图像处理、图形设计...

Global site tag (gtag.js) - Google Analytics