boost gil图形图象库学习资料汇总

boost gil图形图象库学习资料汇总

ID:25394644

大小:323.00 KB

页数:38页

时间:2018-11-20

boost gil图形图象库学习资料汇总_第1页
boost gil图形图象库学习资料汇总_第2页
boost gil图形图象库学习资料汇总_第3页
boost gil图形图象库学习资料汇总_第4页
boost gil图形图象库学习资料汇总_第5页
资源描述:

《boost gil图形图象库学习资料汇总》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、boostGIL图形图象库学习资料汇总Boost1.35的发布是我重新回到C++的动力之一。1.35新增了12个新的库,其中Asio无疑是最吸引眼球的。最近自己的工作也以linux平台下的游戏服务器开发为主,虽然整个服务器几乎是纯python开发的,但毕竟与网络等接触面增大,关注asio是必然的。Bimap和CircularBuffer是新增的两种容器,感觉上它们的存在使得C++的数据结构空前地丰富了,甚至比python还要多一些?Intrusive库提供了”侵入“式的容器,性能更好,内存占用更少,但相应地用户要承担更复杂的对象生存期管理和更为困难的线程安全分析。In

2、terprocess和MPI库分别提供了共享内存和分布式并行编程的支持,与thread库一起为多核时代的C++编程铺设了一条更为平坦的道路,它们加入boost显然也是大势所趋。FunctionTypes,Fusion,Math/SpecialFunctions,Math/StatisticalDistributions,以及System因为自己在开发中普遍应用它们的可能性较小,所以没有能够挤出时间来了解它们。但1.35中不得不一提的就是GIL库,它是由adobe贡献的图像处理库,因为之前对图像处理方面做过一些实验,所以也看过官网的一些视频教程,深为其高水平的设计与实现

3、所折服,如果我是专业做图像处理的程序员,我一定会好好关注、学习这个库的。从1.35来看,boost从一开始的作为stl的补充(注重实用),到充分地挖掘C++的特性(注重理论),现在又回归到了以增加某一领域专用的库为主的基调,比如asio、gil和对并行开发的支持都可以看出boost1.35新增特性非常实用。GIL是由Adobe公司开发的一个开源库,现已加入到Boost中。它的全称是GenericImageLibaray,作为通用图像库,它可以操作多种图像格式并声称其性能不输于针对某种特定图像格式书写的代码。要使用GIL只要加入它的头文件即可:#include

4、t/gil/gil_all.hpp>如果你要使用它提供的IO功能,还要做一些工作,目前它的IO扩展支持的有:JPEG:头文件boost/gil/extension/io/jpeg_io.hpp.编译并连接libjpeg.lib(在网站 http://www.ijg.org可以得到).你需要在包含路径中添加jpeglib.h.TIFF:头文件boost/gil/extension/io/tiff_io.hpp.编译并连接libtiff.lib(在网站 http://www.libtiff.org).你需要在包含路径中添加tiffio.h.PNG: 头文件boost/gi

5、l/extension/io/png_io.hpp.编译并连接libpng.lib(在网站 http://www.libpng.org).你需要在包含路径中添加png.h.在GIL的老家 http://opensource.adobe.com/gil 还有不少试验中的IO扩展,如BMP,GIF等各种格式。概念ConceptGIL库里充斥着大量的元编程技巧,它的绝大部分类型都是模板类,为了模板类之间能够协同工作,GIL使用了Concept的概念。Concept简单地说就是要求指定的类必须满足一组条件,如提供哪些类型声明,哪些函数,哪些成员等等。关于Concept的详细信

6、息可以参考:http://www.generic-programming.org/languages/conceptcpp/另外C++0x正准备把Concept加入标准:http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2081.pdfConcept有自己的一套描述方法举例来说:conceptDefaultConstructible{T::T();};符合DefaultConstructible概念就表示这个类含有一个无参数的构造函数(默认构造函数)比如C基本类型int、char等,

7、或者象std::vector、std::string这样可以不用参数直接构造出的类都符合DefaultConstructible。conceptMetafunction{typenametype;};符合Metafunction概念就表示这个类含有一个名为type的类型声明。比如下面这个类就符合Metafunction,因为它有一个type类型声明:1.struct metafunctionDemo{2.    typedef int type;3.}; conceptSwappable{voidswap(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。