2024年5月8日发(作者:)
十全大补:CxImage图像处理类库
CxImage是一个可以用于MFC 的C++图像处理类库类,它可以打开,保存,显示,
转换各种常见格式的图像文件,比如BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX,
TGA, WMF, WBMP, JBG, J2K 等格式的文件。可以实现BMP<->JPG,PNG <>TIFF
格式等等的互相转换。
CxImage不仅可以实现图像文件的类型转换,还可以实现在内存图像数据的
类型转换,并且使用很方便。除了文件格式的相互转换,它还提供了很多很多图
像后处理的功能,比如图像模糊,锐化等等,功能非常强大和实用。
CxImage中的x,大约代表了丰富的图像格式支持和丰富的图像处理功能,可
以说CxImage是图像处理的十全大补汤。
用CxImage实现的图像处理程序
开发环境:
VC6, C++, Windows, MFC, Visual Studio, VS6, Dev
简介和许可
CxImaage是一个可以简便而快速地打开,保存,显示和转换图像文件的C++
类库。CxImage类库是免费的。对于TIFF,JPEG,PNG和ZLIB,"如果你在你的
产品中使用了这些源代码,虽然致谢不是必须的,但是却会得到众人的欣赏。"
CxImage是开源的并在zlib许可下发布。简单地说,你可以随意地使用这些
代码,只要你不说它是你自己的就行了。
文件格式和链接的库
CxImage支持如下这些库的最新版本:
Cximage 6.00提供了一个新的类CximageRAW和新的库LibDCR,用于读取来
自数码相机的RAW图像。常见的文件扩展名有:RAW, CRW, NEF, CR2, DNG, ORF,
ARW, ERF, 3FR, DCR, X3F, MEF, RAF, MRW, PEF, SR2。
CximageRAW提供了对图像的基本解码功能,它唯一的可选参数可以由
SetCodecOption进行设置,以对插值质量进行可控制。可选的选项有
(DECODE_QUALITY_LIN=0, DECODE_QUALITY_VNG=1, DECODE_QUALITY_PPG=2,
DECODE_QUALITY_AHD=3).
CximagePNG:现在可以读取所有PNG_COLOR_TYPE_类型。但是,每个通道含有
超过8位像素深度的PNG文件,会被转换到8位,这是CxImage的一个主要限制。
CxImageGIF:现在能够更好地支持对动态GIF图像的读取,通过
SetRetreiveAllFrames设置属性,可以同时对图像中的所有帧进行解码。在
CxImage的示例项目中,展示了如何实现这一选项,并展示了如何播放一副GIF
动画。
CxImageBMP: 支持对32位图像的读写(支持Alpha通道)
CxImageICO: 支持对Vista PNG图标的读写;添加对多页图标的支持。
CxImageMNG: 支持对MNG Alpha图层的读取。
CxImageSKA: 新的用于支持SKA图像格式的类,这种图像通常用在视频租赁
软件中。
CxImageJPG: 为JPEG图像格式的二次采样提供了 新的选项。
ENCODE_SUBSAMPLE_422,ENCODE_SUBSAMPLE_444),默认情况下是 高采样率的
4:1:1 。当然,也可以被设置成中等的4:2:2或者低等的4:4:4。
下图展示了不同采样率下,在压缩图像中所产生的不同数量的伪影。在压缩有着
明显轮廓的图像的时候,采用4:4:4的采样率有助于减少轮廓的伪影。
发布评论