没有合适的资源?快使用搜索试试~ 我知道了~
CxImage图像库使用说明
3星 · 超过75%的资源 需积分: 9 13 下载量 148 浏览量
2012-06-08
10:34:54
上传
评论
收藏 343KB DOCX 举报
温馨提示
试读
22页
CxImage图像库说明介绍
资源推荐
资源详情
资源评论
CxImage 图像库
CxImage 下载地址:http://www.codeproject.com/KB/graphics/cximage/
cximage600_full.zip
作者:Davide Pizzolato
CxImage 简介
CxImage 是一个可以简便而快速地打开、保存、显示和转换图像文件的 C++类库,它可以
用于 MFC,可以打开,保存,显示,转换各种常见格式的图像文件,比如 BMP, JPEG,
GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K 等格式的文件。可以实
现 BMP<->JPG,PNG <->TIFF 格式等等的互相转换。CxImage 不仅可以实现图像文件的
类型转换,还可以实现在内存图像数据的类型转换,并且使用很方便。除了文件格式的相
互转换,它还提供了很多很多图像后处理的功能,比如图像模糊,锐化等等,功能非常强
大和实用。另外,CxImage 是开源的,并在 zlib 许可下发布,“如果你在你的产品中使用了
这些源代码,虽然致谢不是必须的,但是却会得到众人的欣赏。”简单地说,你可以随意地
使用这些代码,只要你不说它是你自己的就行了。
CxImage 中的 x,大约代表了丰富的图像格式支持和丰富的图像处理功能,可以说
CxImage 是图像处理的十全大补汤。
用 CxImage 实现的图像处理程序
开发环境:VC6, C++, Windows, MFC, Visual Studio, VS6, Dev
文件格式和链接的库:CxImage 支持如下这些库的最新版本:
Zlib (1.2.3), Jasper ( 1.900.1), LibMNG (1.0.10), LibPNG (1.2.24). LibTIFF 3.8.2
j2k 库(现在被称为 openjpeg)和相关的类 CxImageJ2K 已经从项目中删除。JPEG2000
格式的文件由 Jasper 和 CximageJAS 来支持。
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 的采样率有助于减少轮廓的伪影。
可移植性
所有的类和项目都通过了不同编译器的测试,包括从 VC++6 到 VC++2008 的微软系列编
译器,Borland C++ Builder 3 和 6,同时部分地支持 wxDev-C++和 MinGW。
所有的库都支持 UNICODE 和非 UNICODE 两个版本。(感谢 Eric Jesover)
对于第一次使用的用户,你可以使用一个轻量级的版本(cximage600_lite)。这个版本去除
了 C 库,但是添加了一个简单的示例项目。
所有控制台示例(/demo2)和 CxImageCrtDll 项目可以在 VC++Express2005 和 Microsoft
Platform SDK 环境下编译通过。如果你在编译链接的时候,遇到像"unresolved
external..."(无法找到外部符号…)这样的错误,请检查是否所有 C 库都被编译了。或者手动
地添加 gdi32.lib 和 user32.lib 为项目的依赖库。
同时,CxImage 也可以在 Pocket PC 2003 上工作。在 CxImage 中,为 VC++ 2005 编译
器提供了一个可以工作的版本和相应的实例(cximage600_ce)。对于旧式的嵌入式 VC 编译
器,最主要的限制是无法支持对异常的处理。为了解决这个问题,相应的异常处理语句
try,throw 和 catch 已经被定义在 ximadef.h 中的三个宏取代,同时还定义了
CXIMAGE_SUPPORT_EXCEPTION_HANDLING。通过这样的方法,取消对异常处理的
支持,可以成功编译链接整个库。虽然这个解决办法不是那么优雅,但是当异常处理被取
消的时候,对代码的影响是最小的。同时,当异常处理被启用的时候,同样不会造成源代
码的修改与变动。
对于平台之间 little-endian 和 big-endian 的兼容性,对于内建支持的图像文件格式(bmp,
ico, tga, pcx, gif, ska),由 ntohs 和 ntohl 控制。
示例
大多数新的特性可以在 CxImage 的主要示例程序中尝试和体验。这个示例程序只是一个测
试平台,虽然它提供很多有用的特性,但是它实在不是一个严谨的应用程序。
·CQuantizer : 这个类被 DecreaseBpp 菜单项所使用。在以前的版本中,这里有一个取整
的错误,在某些情况下,白色(255,255,255)会被转换成(254,254,254)。在新的版本中,这
个问题已经被修复了。
·Copy/Paste : 现在,新的粘贴功能支持元文件图像(例如,从 Office 应用程序中复制而来
的图像)。这个示例内部使用了自定义的剪切板格式以测试 Dump/Undump 方法。Copy
只工作在当前选区,但是你可以通过 CxImage/Remove Selection 复制整幅图像。
·FloodFill : (/View/Tools/Flood Fill) 通过一个浮动的对话框,你可以测试色彩填充的颜色,
偏差,透明度和是否选择。当透明度为 0 并且选择区域功能启用的时候,这个功能就变现
为"魔法棒",用于根据颜色选区某个区域。
·Graph data extraction : (/Filters/graph data extraction) 这个示例演示了如何从图像(从扫
描仪获取或者从互联网下载所得)中提取数字信息。转换后的数据被粘贴到剪切板,同时
可以被保存成文本文件或者 Excel 表格文件。
数据提取对话框
数据提取结果
·RedEyeRemove : (/Filters/Non Linear/Remove Red Eye) 去除红眼的功能在照片处理中
经常用到。你 必须在红眼周围选择一个区域,然后去除红眼的功能就会对红色通道进行过
滤,从而去掉照片中的红眼。红眼的选区是一个矩形区域,同时可以包括部分的虹膜(眼
黑),过滤器会在以选区中点为中心的圆心区域工作,不会影响到选中的眼黑部分。
·SelectiveBlur / UnsharpMask : 这些非线性的滤镜可以增加图像的质量。SelectiveBlur 可
以去除二次噪声(比如 JPEG 图像中的伪影或者是数码相机的噪声),从而展示图像中的
更多细节。而 UnsharpMask 可以增强图像的细节,但是却不会添加噪声。
·Custom linear filters : (/Filters/Linear/Custom) 一个用于测试新的滤镜功能核心的图像用
户界面。
·Histogram : (/Colors/Histogram/...) 为了测试 HistogramStretch(直方图),这个示例中提供
了很多菜单项,通过不同的方法(0 = luminance, 1 = linked channels , 2 = independent
channels)来测试直方图功能。对于有噪声的图像,阈值(threshold)这个参数增强了算法的
健壮性。半饱和度(Half Saturation)和全饱和度(Full Saturation)可以测试转换颜色空间
剩余21页未读,继续阅读
资源评论
- freetan2014-04-11说明介绍不错,可用
北唐盛世
- 粉丝: 49
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功