精华内容
下载资源
问答
  • 2003Windows 图像处理组件wic_x86_chs.exe
  • 转载:...   今天安装vs2010旗舰版,提示 安装Windows 图像处理组件 ,在网上查了查资料,方法如下:   点击链接 http://www.microsoft.com/downloads/zh-cn/details.aspx?displaylang=zh-cn&Fa

    转载:http://blog.csdn.net/nyb869008813/article/details/6618818 

     

    今天安装vs2010旗舰版,提示 安装Windows 图像处理组件 ,在网上查了查资料,方法如下:

     

    点击链接

    http://www.microsoft.com/downloads/zh-cn/details.aspx?displaylang=zh-cn&FamilyID=8E011506-6307-445B-B950-215DEF45DDD8

     

    选择wic_x86_chs.exe  安装即可,再安装vs2010旗舰版,就OK了

     

     

    这个链接

    http://social.msdn.microsoft.com/Forums/zh-CN/vstudiozhchs/thread/45d67987-655f-480d-95ab-d663cb60e53e/

     

    是msdn上的,提供参考

    展开全文
  • 昨天安装03的系统,打了补丁后,今天安装vs2010旗舰版,提示 安装Windows 图像处理组件 ,在网上查了查资料,方法如下: 点击链接http://www.microsoft.com/downloads/zh-cn/details.aspx?displaylang=zh-c

    昨天安装03的系统,打了补丁后,今天安装vs2010旗舰版,提示 安装Windows 图像处理组件 ,在网上查了查资料,方法如下:

     

    点击链接

    http://www.microsoft.com/downloads/zh-cn/details.aspx?displaylang=zh-cn&FamilyID=8E011506-6307-445B-B950-215DEF45DDD8

     

    选择wic_x86_chs.exe  安装即可,再安装vs2010旗舰版,就OK了

     

     

    这个链接

    http://social.msdn.microsoft.com/Forums/zh-CN/vstudiozhchs/thread/45d67987-655f-480d-95ab-d663cb60e53e/

     

    是msdn上的,提供参考

    展开全文
  • dNet图像处理组件学习总结

    千次阅读 2017-03-19 17:38:36
    关于.NET下开源及商业图像处理(PSD)组件 http://www.cnblogs.com/Leo_wl/archive/2013/03/21/2973299.html 【原创】.NET开源压缩组件介绍与入门 【原创翻译】C#开源轻量级对象数据库NDatabase介绍 【转载总结】...

    关于.NET下开源及商业图像处理(PSD)组件



    http://www.cnblogs.com/Leo_wl/archive/2013/03/21/2973299.html
    【原创】.NET开源压缩组件介绍与入门
    【原创翻译】C#开源轻量级对象数据库NDatabase介绍
    【转载总结】关于泛型基类的相关知识
    NewLife.Xcode组件资源目录
    Newlife.XCode对象容器与接口操作实例
    拥有自己的代码生成器—NewLife.XCode代码生成器分析
    拥有自己的代码生成器—Newlife.XCode模板编写教程


    1 前言
    这篇博客的背景是:为了完成吉日嘎拉的“PSD文件损坏检测和图层检测”任务,查找了目前.NET各种开


    源的及商业的图像处理资料,在完成任务之后,进行总结。此次任务主要是用C#操作PSD(PhotoShop)文


    件,中文资料很少,主要的英文资料都在CodeProject网站。项目要求对用户上传的PSD文件进行检测,


    是否损坏,是否能正常打开,并判断是否只有1个图层。俗话说:“冰冻三尺非一日之寒”,这次找关于


    C#处理PSD的开源资料,真是“挖地三尺”,我也觉得这“非一日之力”就可以做到。平时关注技术,了


    解很多,找起来才快,也需要一点主动学习的能力。


    2 .NET图像处理组件总结
    说起图像处理,肯定很多人都知道博客园的xiaoite,用.NET做图像处理,很强大。由于图像处理的特殊


    性,可能很多人认为.NET做图像处理效率有问题,但xiaoite用实际证明了其实这都不是问题,大家可以


    去他的博客详细了解下。呵呵,我只是一个菜鸟,把别人现成的东西组合一下,会使用而已。那下面介


    绍一下,我找到的几个.NET图像处理组件(和PSD相关的)。


    2.1 Paint.NET


    .NET下的图像处理开源项目,最有名的应该是Paint.NET,小巧,灵活,足够强大,相比笨重收费的


    PhotoShop,这真是一个不错的选择。虽然该项目源代码现在不开放了,但软件使用仍然是免费的。昨天


    看了一下他的dll,没有混淆,有精力的可以去反编译看看。我的解决办法也是从这个项目找到的答案。


    Paint.NET的源代码3.1版本的应该还可以在网上找得到,另外Paint.NET也有很多插件,比如


    Paint.NET_PSD_Plugin,就可以用插件来加载PSD文件,并转换为Paint.NET的格式。前几天,给一个朋友


    PS2张简单的图片,用的就是Paint.NET,操作和PhotoShop差不多,界面很清爽,功能足够强大吧,推荐


    一下。


    2.2 Imagemagick.NET


    Imagemagick.NET是用C#对开源的Imagemagick图像处理组件的进行了一个封装。里面的代码大部分都是


    C++/CLI,能力有限,没有深入研究。看了一下说明,支持的格式很多,但对PSD文件的图层和文件损坏


    检测也没有现成的,不过,这个项目的确很值得学习,有机会研究下 C++/CLI,对图像处理应该有很大


    帮助。Imagemagick支持的语言和平台都很广泛,值得一看。


    2.3 Skimpt


    Skimpt其实这个组件以前没看到过,是一个.NET下开源的屏幕截图软件。它的大部分代码我没仔细看,


    只发现它支持PSD文件,所以就主要看了看PSD操作的部分,相对不错,PSD代码部分也是借鉴了


    CodeProject上面的几篇文章。都很相似,不过都修改了不少错误,这个其实还不错,勉强可以正确判断


    图层,但是对PSD文件的损坏检测不了,它只是直接读取文件的头信息,并不去检验数据的正确性。如果


    有做屏幕截图之类的工具,这是一个不错的参考。虽然没用里面的代码,但也发现Google Code其实也有


    很多不错的项目。


    2.4 ImageGlue.NET 


    ImageGlue.NET是商业的图像处理组件,支持的格式列了一大堆:支持的格式。由于这个组件我很早就知


    道,但没用过,手上也有破解版,所以就试了一下,可以对PSD文件的损坏检测,但是对图层的判断一直


    出错,有时候是正确的,有时候是错误的,商业组件做成这样,一怒之下,抛弃它了,而且破解版也不


    太敢用,当时只是试试看好用不,然后把里面的一小段代码弄出来就可以了,没想到这货还调用了非托


    管的dll,代码没虽然有混淆,但命名空间足够的坑爹,对图像的一些基本处理应该还是不错的,关键是


    支持的格式全面。留个脚印,让大家以后也有个选择。


    2.5 其他关于.NET操纵PSD的文章


    其实我首先查到的还是codeproject上的一篇2006年发表的英文博客Yet Another PSD Parser。该作者也


    是为了完成一个PSD的项目,需要.NET操作PSD文件,而处于版权和许可证的原因,没有采用Adobe公司的


    SDK,而是自己开发了这套组件。这个组件也是作者Endogine项目(一个2D的图像游戏引擎)的一部分,但


    可惜的是这个组件好像没有完善,这篇文章也没有更新,有不少错误。


    3.相关资源网址
    http://psdplugin.codeplex.com/


    http://www.codeproject.com/Articles/10768/Endogine-sprite-engine


    http://www.codeproject.com/Articles/15905/Yet-Another-PSD-Parser


    http://www.websupergoo.com/download.htm


    PSD官方格式信息


    http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/


    http://www.aurigma.com/docs/gm/Overview.htm


    http://midimick.com/magicknet/magickDoc.html


    http://www.codeproject.com/Articles/17852/ImageMagick-in-VB-NET


    http://code.google.com/p/skimpt/


    http://imagemagick.codeplex.com/releases/view/30302
    ========

    Windows 图像处理组件

    http://www.microsoft.com/zh-cn/download/details.aspx?id=32


    选择语言:


    下载
    Windows 图像组件 (WIC) 提供启用 WIC 功能的应用程序,可显示并编辑安装有兼容 WIC 编解码器的任


    何一种图像格式,还能读写图像文件中的元数据。
    详情
    Note:There are multiple files available for this download.Once you click on the "Download" 


    button, you will be prompted to select the files you need.
    版本:
    1.0
    File Name:
    wic_x86_enu.exe
    wic_x86_chs.exe
    wic_x86_deu.exe
    wic_x86_esn.exe
    wic_x86_fra.exe
    出版日期:
    2009/11/23
    File Size:
    1.2 MB
    1.2 MB
    1.2 MB
    1.2 MB
    1.2 MB
    + More
    Windows 图像处理组件可发现新的私有图像格式(如 Raw)。对于使用 WIC 的应用程序而言,只要计算


    安装有 CODEC(编/解码器),便可使用新的图像格式。WIC 包括 JPEG、TIFF、GIF、PNG 和 BMP 格式


    的更新编解码器,比这些格式以前版本的编解码器更安全,同时还支持名为 Windows Media Photo 的新


    增高性能图像格式。 除此之外,WIC 还提供常用图像元数据格式的元数据读写器,可使应用程序在图像


    文件内部保留元数据,不必创建“sidecar 文件”。
    ========

    运行此安装程序之前,必须安装 32 位 Windows 映像处理组件(WIC)解决办法



    http://blog.chinaunix.net/uid-7868752-id-4977488.html
    “32 位 Windows 映像处理组件(WIC)的安装和解决办法”
    坦白得说,这个问题我还是第一次遇到。
    今天安装Microsoft .NET Framework 4的时候,遇到一个问题,系统提示:运行此安装程序之前,必须


    安装 32 位 Windows 映像处理组件(WIC)。
    于是就到官方找了一下,原来就是这个安装包:
    http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=8e011506-6307-445b-b950-


    215def45ddd8&displaylang=zh-cn
    下载第一个wic_x86_chs.exe 并安装,然后再运行Microsoft .NET Framework 4,一切OK了。 


    今天安装Microsoft .NET Framework 4的时候,遇到一个问题,系统提示:运行此安装程序之前,必须


    安装 32 位 Windows 映像处理组件(WIC)。
    于是就到官方找了一下,原来就是这个安装包:
    http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=8e011506-6307-445b-b950-


    215def45ddd8&displaylang=zh-cn
    下载第一个wic_x86_chs.exe 并安装,然后再运行Microsoft .NET Framework 4,一切OK了。


    ========

    几种图像处理库的研究

    http://blog.csdn.net/lxw907304340/article/details/45318969 
    目录(?)[+]


    http://blog.csdn.net/byxdaz/article/details/3972293


    目前比较出名的图像处理库有很多,比如LEADTOOLS,这个是功能非常强大的图像多媒体库,但是这个是


    收费注册的。开源的图像库也有不少,比如:ImageStone、GIMP、CxImage等,虽然它们的功能没有


    LEADTOOLS强大,但是一般的图像处理是可以应付的。


    下面分别介绍这几种图像处理库的使用方法。


    LEADTOOLS
    LEAD Technologies 是一个拥有九年多开发数字图形技术历史的公司,他专为程序开发者提供软件开发


    工具包。他已经为微软等公司提供了很多图形图象技术。这个软件包是该公司开发的开发工具的集合,


    包括占线帮助,Lead API、C++ 类库、ActiveX 控件、VCLs 和一些实例原代码等。这个软件包是开发工


    具的集合包括占线帮助,Lead API、C++ 类库、ActiveX 控件、VCLs 和一些实例原代码等。
    (1)对显示设备的全面支持:在显示时,你的程序中无需考虑是哪种显示模式,如16色还是真彩色。


    LeadTools为你做了所有的事。当然你也可以通过设置参数获得对显示设备更多的控制。你还可以实现自


    己的调色板。


    (2)支持多种文件格式:表10.1是LeadTools所支持的常用文件格式,其中读表示用LeadTools能打开的文


    件格式,写表示LeatTools能存成的文件格式:


    (3)图象处理:如二值化、平滑、加噪声、增加对比度、色调、饱和度、亮度、Gamma校正、中值滤波、


    半影调、抖动、橡皮筋、滚动、填充、反色、镜象、马赛克、浮雕、打印、扫描、拷贝、粘贴、裁剪、


    缩放、截屏、调色板、直方图、有关数据库的操作、还有制作幻灯的功能,如淡入、淡出、卷帘等等、


    真的很爽。表10.2是Version5.1的所有属性、事件、和方法列表,看看有没有你所需要的功能。以字母


    顺序排列,其中标[P]的表示只有专业级(Professional)和特殊级(Express)用户才能使用。


    (4) 新增功能:


    Vector的新功能


    Annotations的新对象和新功能


    OCR Module 更新


    新增模块:ICR Module


    新增模块:OMR Module (Forms 处理)


    新增的公共图象对话框


    100余种图象处理功能


    DjVu® ,KDC和其他的新格式支持


    Medical Imaging 更新


    Multimedia 更新


    C++ Class Lib 更新


    COM Object 更新,包含新的.NET 示例


    相关包的破解地址:http://www.greatcracks.com/cracked_software/l4


    相关开发包介绍:


    LEADTOOLS Medical Imaging SDK


    LEADTOOLS Medical Imaging包含了一些精心挑选的、经过优化的特性,可以满足医疗成像应用程序开发


    的特殊需要,比如,完全的DICOM数据集支持,可以支持8-16位灰度级,以及12和16位的图像处理,窗位


    (Window Leveling)显示,还包含LUT处理。


    特征综述


    支持8、10、12、16灰度级和24位图像,包括JPEG(8、10、12、16位无损灰度级,8、12位有损灰度级,


    24位无损和有损色彩),JPEG2000(包括有损和无损8-16位灰度级图像和24位色彩)行程,无压缩,光


    学表示(单色1、单色2、调色板、RGB、ARGB、CMYK、YBR 全422、YBR全、YBR_RCT、YBR_ICT),以及单


    框架和多框架图像。


    完全支持DICOM 3(2003文件规范),包括所有标准的IOD类和形态(CR、CT、MR、NM、US、RF、SC、VL


    等),还包含VR’s。


    为DICOM的基本目录提供简单的执行操作和完全技术支持。只需要几行代码就可以使用高级COM对象来创


    建DICOMDIR。


    通过调用一个函数,可以将一种转移语法变为另一种转移语法。自动识别DICOM文件(Little-


    Endian/Big-Endian,隐藏/显示VR等等)。并具有高级和低级函数,可用于数据集的简单导航和操作(


    插入、删除、修改)。


    单框架或多框架的图像(压缩的或未压缩的)。


    对大量不同厂商的硬件支持。


    包含了可使用的源代码和可执行代码。


    对DICOM有4个不同的编程接口-API、COM、VCL、C++类库。支持DICOM2003标准中所有的VR’s,包括“


    其它浮动字符串”。


    具有高级和低级函数,可用于数据集的简单导航和操作(插入、删除、修改)。


    LEADTOOLS自动加入了项定界项和序列定界项以简化数据集的嵌套(VR of “SQ”)。


    易于对项进行顺序定位(FFFE,E000)。


    简化了重组处理(多重覆盖和曲线数据)。


    支持对单框架或多框架压缩或未压缩图像的像素数据的封装或本机编码。 
    DICOM LUT/Overlay/Palette支持。在LEADTOOLS Medical Imaging中,对于Modality


    LUT,VOI LUT,Palette色彩图像的高级支持意味着开发人员可以毫不费力地在一个应用程序中实现


    DICOM表示状态。LEADTOOLS还可以将Modality LUT应用于图像数据,以进一步简化图像处理和统计计算





    DICOM注释对象支持。可以从数据集内存储/获取DICOM注释,并且将它们转换为LEAD注释对象,反之亦


    然。为了附加的统计计算和存储为DICOM表示状态,注释也可以被转换为Region of interest。
    Cookie剪切工具:可以从一个放射性图像扫描文件中提取出单独的薄片(对于识别一个扫描MRI或CT系列


    内的每个薄片很有帮助)。


    MRI大脑分析工具:可以用于计算胼胝体(大脑中部的白色物质,就像字母X)和脑球体之间的比率。


    LEADTOOLS Multimedia


    您可以使用LEADTOOLS Multimedia SDK创建具有专业水准的高品质的多媒体应用程序。该控件中加入了


    诸如捕获、播放和编辑等多媒体功能以及对最新的DirectShow过滤和许多多媒体文件格式的支持,即可


    以加载和转换多种文件格式(包括WAV、AVI、ASF、WMA、WMV、MPEG-1、OGG等等)。可以编程控制多媒


    体处理、压缩,视频和音频输入;还增加了摄像控制(亮度、对比度、缩放等等);以及更灵活的捕获


    选项等等更多功能。


    特征综述 About Feature


    多媒体捕获
    能够从WDM、本地DirectShow包括DV、Windows视频捕获设备中捕获视频图像,还可以控制DV设备等。


    多媒体播放
    能够播放所有DirectShow所支持的文件。可以支持DVD导航,还可以将播放设置保存到文件或二进制流中


    等等。


    多媒体转换
    利用控件包提供的功能,您的用户可以将多媒体文件在AVI,Windows Media content,WAVE和MPEG1 


    Audio(MP3)格式之间互相转换,还可以选择DV设备输出等等功能。


    多媒体文件格式
    支持大部分流行的多媒体格式(AVI、ASF、WMV、WAV、OGG、MPEG-2、MPG)。点击此处可以得到一个所


    支持格式的列表。


    多媒体压缩
    通过可用的DirectShow过滤器压缩多媒体文件(内存中进行)。(Windows Media)


    多媒体处理
    具有处理AVI、Windows Media content、WAVE和MPEG1Audio(MP3)格式或DirectShow过滤器捕获到的数


    据的能力。在电影回放、转换或被捕获时可以使用LEAD Video callback DirectShow过滤器中的200种像


    处理功能来处理电影。


    DirectShow过滤器
    LEADTOOLS Multimedia包含了一个多媒体过滤器包的测试版,这个多媒体过滤器包具有强大的多媒体处


    理功能。


    产品演示
    LEADTOOLS Multimedia具有一些演示程序,可以帮助您开发您的项目。其中有音频、视频检测demo,音


    频更换demo,Mediainfo demo等等。


    LEADTOOLS Raster Imaging SDK
    LEADTOOLS Raster Imaging SDK是为开发者提供的用于创建功能强大的图像应用程序工具;采用


    LEADTOOLS的色彩转换、显示、压缩(JPEG、TIFF、CCITT G4 以及LEAD的CMP属性)、图象处理、TWAIN


    扫描、特效(超过2000种)、图像格式支持(超过150种图像文件格式)、打印、Internet/intranet 图像


    、数据库图像、图像公共对话框和屏幕捕获等特性,使用它,由此为你节省大量的时间与费用。


    特征综述 About Feature


    文件格式支持
    采用工业标准和专有压缩技术,可同时支持150多种图像文件格式以及sub-格式的加载、保存和转换。另


    外,采用LEADTOOLS能添加更多的格式支持,例如采用LEADTOOLS PDF插件,即能实现对PDF文件的加载、


    保存和转换支持。


    压缩支持
    支持多种工业标准的压缩技术,包括JPEG、CCITT、LZW (使用于GIF及某些TIFF文件)、ZIPLIB (使用


    于PNG文件)、Huffman算法、RLE及紧缩位压缩算法(Packbits)。另外,采用LEADTOOLS JPEG2000 插


    件和 LEADTOOLS CMW 插件可添加JPEG2000 及先进的CMW压缩技术。


    TWAIN扫描支持
    TWAIN 驱动几乎包含在所有的扫描仪及其它图像采集设备中,同时随着最新的发展技术,TWAIN 也是性


    能良好与高可靠性驱动的最佳选择。当前LEADTOOLS 的光栅图像产品支持所有包括在TWAIN v1.9 规范中


    的功能。


    屏幕捕获
    具有强大的屏幕捕获功能,能从文件、菜单、窗口、不同形状的屏幕客户区域等捕获资源。屏幕捕获工


    具是极其有用的,特别是在文档编辑及需提供其它图像输入方式的时显得更为重要。


    数据库支持
    同时提供高端或低端的数据库支持,其中包括绑定VB数据控件功能、OLEDB 接口、ODBC 接口以及低端加


    载和保存图像到内存的功能。


    Internet 支持
    提供几种不同级别Internet支持,包括:可封装到CAB文件的对象、能在web服务器端构造的对象、从URL


    或存储器装载图像的功能、支持HTTP 和FTP的控件、解析并加载到web服务器端的文件控件,以及用来构


    造功能强大、通过TCP/IP发送远程过程调用的客户服务器应用程序控件。


    显示与显示效果
    对图像如何被显示进行完全地控制,包括缩放、展开、图像显示的区域控制以及超过2000种的特效效果


    。LEADTOOLS 甚至包含了一个平铺窗口,这样你能方便地显示图像概要及选用适合最终用户的卷起、平


    铺方案。


    打印支持
    由于能使用与显示图像同样的代码来进行打印,所以打印图像与显示图像同样容易。你能控制图像打印


    的尺寸和位置;另外,能结合Windows GDI函数同LEADTOOLS打印一起使用,提供在同一页上打印文本和


    多个图像的灵活性。


    图像处理
    超过200种图象处理功能,分为四个基本类别:过滤、变换、色彩转换及绘图。在LEADTOOLS中的大多数


    图像处理功能支持不同着重区域,允许图像的某一部份被处理。通过添加更多用于数字绘图的功能,


    LEAD在LEADTOOLS Raster Imaging Pro中提供了包含大量用于数字绘图功能,包括笔刷、形状、纹理的


    创建与使用以及更多。


    色彩转换
    为确保你能把图像从一种格式转换到另一种格式,或是在任何其它显示设备上显示图象,LEADTOOLS 包


    含了强大的色彩转换功能。该色彩转换功能包括:支持8 种以上色彩平滑过渡算法、多种调色板选项以


    及把图像数据从任何支持的每个像素所占用的位转换到其他支持的每个像素所占用的位功能。支持的数


    值有1-8位色或灰度、16位色、24 位色和32 位色。如果你需要12或16位灰度或48与64位色支持。


    图像公共对话框
    LEADTOOLS 图像公共对话框通过扩展Windows公共对话框以提供具体的图像处理功能,节省了大量的繁琐


    编程时间,同时能给最终用户提供一个一致的外观和感觉。这个公共对话框针对图像处理、变换及特效


    提供专业的图像公共对话框功能。


    LEADTOOLS Vector Imaging Pro


    LEADTOOLS Vector Imaging Pro控件包含了创建功能强大的,支持矢量和光栅图像格式的2-D和3-D浏览


    器、编辑器、转换器的一切所需要求。通过创建这样的应用程序,您不需要安装或注册一些更昂贵的用


    于创建矢量文件的原始程序,您只需添加您所需要的功能。如果您在为矢量成像寻找具有最丰富特色的


    软件开发工具包时,LEADTOOLS Vector Imaging Pro也许是您最好的选择。


    特征综述 About Feature


    支持矢量图像格式
    矢量图像可以被加载、保存、转换和输出为光栅图像格式,包括CGM、DGN、DRW、DWF、DXF、EMF、WMF、


    PLT、Gerber、PCL、PCT、SVG、VWPG、CMX和SHP。


    支持原始对象
    支持原始对象,包括圆弧、位图、笔刷、照相机、圆、复制、椭圆、椭圆弧、字体、组、层、线、笔、


    饼、弦、Poly Draw、多边形、多边线、Poly Bezier、光栅、长方形、文本、顶点和Clipping对象。


    支持浏览和编辑
    具有低级和高级函数,可以控制矢量图像的浏览,包括缩放(统一的或围绕任何轴线)、移动镜头、旋


    转(围绕任何轴线)和抗失真。矢量图形可以以任何希望的方式编辑,包括添加、修改、删除和将对象


    复制到粘贴板或者复制到各个不同的矢量图形中。


    支持打印
    可以把矢量图形缩小到任何分辨率而不会使图形出现扭曲,这样就可以确保在打印时,图形细节不会丢


    失。


    支持矢量转换
    不需要创建文件的原始程序就可以将矢量文件转换为另一种格式。


    支持光栅图像
    矢量文件可以被转换为任何分辨率的光栅图像,并且可以被保存为LEADTOOLS Raster Imaging 产品支持


    的任何150种图像文件格式。


    LEADTOOLS 软件开发工具包也包括了常见的光栅成像特色包括图像处理(转换、过滤、绘制、Region of 


    Internet),色彩转换,显示,特效(从2000多种效果中选出的),压缩,图像格式(导入/导出),打


    印,Internet/Intranet成像,数据库成像,成像对话框和屏幕捕获。


    LEADTOOLS现在还支持Unicode编码
    为了向大量的开发人员提供矢量成像功能,控件包提供了5个编程接口:低层次的API、C++类库,以及易


    于使用但功能强大的ActiveX、COM、VCL控件。LEADTOOLS Vector Imaging Pro带有示例源代码,适用于


    Visual Basic, C/C++, Visual C++ (MFC), C++ Builder, Visual J++, Visual FoxPro, Access, 


    Delphi, and VB and JavaScript,并且支持Visual Studio 6.0数据库连接(Oracle, SQL, OLE DB, 


    ODBC和JET)。


    LEADTOOLS Barcode Module


    LEADTOOLS Barcode Module产品允许程序员很容易地在应用软件中加入编码,这样就可以读写Linear


    (1D)、DataMatrix (2D)、PDF417(2D)和QR编码的条形码——包括对41种不同子类型的支持。


    LEADTOOLS Barcode Modules还加入了LEADTOOLS文档和医学图像工具包。


    特征综述 About Feature


    Barcode Modules :
    设计Linear (1D), DataMatrix (2D), PDF 417 (2D)和QR Code (2D) 条形码样式


    可以在任何方向上读出多个条形码。


    可以将条形码写入任何超过150种图像文件格式或者写入任何服从窗口的打印机。


    利用2D条形码技术,每个条形码符号可用数以千计的字符来编码。


    可以从选定目标区域内读出或写入条形码。


    可以读出指定颜色的条形码。


    可以写入指定颜色的条形码。


    使LEADTOOLS的广泛的图像处理技术一体化,以便完全控制用户的条形码识别过程。


    下表列出了每个模块的特点:
    读取/写入1D Symbols条形码


    高级的/标准的


    自动条形码类型检测。


    从目标区域读出或者写入条形码。


    可以从不同的方向读出,比如从左到右,从右到上,对角线方向等等。


    读取倾斜的条形码符号。


    可以读出多个条形码符号。


    可以读出混合的条形码类型,并以x/y的形式来返回报告。


    可以写入条形码符号,条形码符号带有大小和位置参数。


    可以检验字符处理。


    读取/写入2D DataMatrix条形码
    包括差错检测码(ECC),能够修复被破坏的条形码符号。


    读出或者写入彩色和灰色的条形码。


    可以在一个条形码符号中存储多达2218个ASCII字符,还可以把符号串接起来,用多达33225个字符对其


    编码。


    (读取模块)可以读出条形码,条形码是独立于歪斜失真、方向和取向改变之外的。从目标区域读出条


    形码,条形码包含在任何支持的图像文件格式中(支持类型超过150种),并可从扫描仪或者数字照相机


    获取。


    (写入模块)可以写入任何支持的光栅格式(超过150种)到目标区域,也可以打印到任何支持Windows


    的打印机上。


    读出/写入2D PDF 417 条形码
    可以在一个条形码符号种存储多达1815个ASCII字符。


    包括了差错检测码(ECC),能够修复被破坏的条形码符号。


    (读取模块)可以读出条形码,条形码是独立于歪斜失真、方向和取向改变之外的。从目标区域读出条


    形码,条形码包含于任何支持的图像文件格式中(支持类型超过150种),并可从扫描仪或者数字照相机


    获取。


    (写入模块)可以写入任何支持的光栅格式(超过150种)到目标区域,也可以打印到任何支持Windows


    的打印机上。


    读出/写入2D QR Code Modules
    可以从ALPHA或者数字文本中创建QR编码的条形码符号。


    包含差错检测码(ECC),它可以排除可能出现的被破坏的读出数据。


    可以在一个条形码符号中存储多达2335个ASCII字符。


    可以使用差错检测码(ECC)来修复被破坏的条形码符号。


    可以读出独立于歪斜的、定位的、取向改变和反射之外的条形码。


    可以将QR编码条形码符号输出到任何支持的Windows打印机上。


    ADTOOLS Document Imaging SDK


    LEADTOOLS Document Imaging 是一套可以扫描多种语言文档的COM和VCL控件。它可以执行光学字符识别


    ,并且将扫描出的文本以四十多种不同的格式输出,包括MS Word,MS Excel,Dbase和WordPerfect等等


    。当它用于格式识别和处理应用时,可以加快光符识别处理速度。


    注释
    本产品具有强大的注释功能,可以添加文本、高亮、附注、音频、椭圆、圆、方形、按钮、线条、箭头


    、长方形、多边形、修订(中断信息)、热点、手写字、指针、图像、图章、标尺和超级链接,以上所


    有对于文档、色彩和灰度图像都具有多层安全特性。文档成像(Document Imaging)和文档成像套装


    (Document Imaging Suite)产品都具有此注释功能。


    显示,处理以及内存优化
    本产品不仅包含了光栅成像产品的所有显示功能,还拥有被称为双色缩放比例的专业化显示选项,此功


    能能够大大的提高成像图像的质量以及屏幕上黑白图像的可读性。


    图像获取 – TWAIN捕获
    TWAIN驱动是几乎所有扫描器和其它图像获取设备的标准,再加上技术的进一步完善,因此我们的


    LEADTOOLS Fast TWAIN产品绝对是您在性能和可靠性方面的最佳选择。目前LEADTOOLS 文档成像


    (LEADTOOLS Document Imaging)产品支持TWAIN 1.9规范中的所有功能。


    图像增强功能
    扫描和传真过程中,噪声和失真不可避免,而它们会导致光符字符识别的精度下降并影响人类阅读。要


    克服这些缺点,用户只需使用LEADTOOLS文档成像产品中名为Doc-Clean的功能,此功能可以消除成像图


    像中的噪声、边界、线条和装订孔,平滑文本,反转白色文本为黑色文本,还包含可延伸的倾斜图像(


    抗扭斜),粗化线条和文本(膨胀)以及腐蚀过厚的文本的其它功能(腐蚀)。


    专用存储和压缩功能
    Mixed Raster Content(MRC)使用一种技术将图像划分为图像和文本,然后使用一种适合于此类型图像


    的压缩技术来获取最高的压缩率以及最佳的图像质量。


    光学字符识别(OCR)
    光学字符识别功能能够将图像转换成编码形式的字符串,或将其内容以各种文档、数据库以及表单的格


    式保存(更多有关内容,请参考LEADTOOLS OCR功能)。文档成像套装(Document Imaging Suite)产品


    包含有此功能,如果您使用的是文档成像(Document Imaging)产品,则可以购买一个OCR插件来获取此


    功能。


    条形码
    条形码应用于文档成像领域已有多年的历史,它主要用来帮助识别文档,能够包含文档信息以及用于其


    它用途的各种信息。鉴于条形码在文档成像应用程序中的强大功能,LEAD公司推出了多种强大的条形码


    扩展功能,您可以购买这些功能来满足您的应用程序的特定需求。


    全面成像特征功能
    为使LEADTOOLS图像成像系列产品成为用途最广泛和最强大的图像成像产品,LEAD公司开发了全面的(双


    色、灰度以及彩色)成像特征功能包括图像处理(变换、过滤、绘制),颜色转换、显示、特效(精选


    自两千多种特效),压缩、(导入/导出的)图像格式,打印、国际互联网/企业内部互联网成像、数据


    库成像、成像通用对话框以及屏幕抓拍等等。


    ImageStone
    ImageStone是一套功能强大的C++图像处理库,它可以在多个平台之间移植。   
      功能包括:读写图像文件(JPG,GIF,PNG,TIFF,TGA...),显示,柱状图分析,undo/redo支持,


    超过100种预定义的特效等。   
    下载地址:http://www.codeguru.com/cpp/g-m/bitmap/viewers/article.php/c12577/
       
      里面有全部的源码和详细的帮助文档加9个例子程序,其中example  008是一个比较完善的图像处理程


    序。 
    Introduction
    ImageStone is a powerful C++ class library for image manipulation. It is written in pure C


    ++ and is easy to port. Its features include load/save (supports BMP, GIF, JPG, PNG, TIF, 


    ICO, TGA, PCX, PSD...), display, histogram, undo/redo, and image transformation with over 


    100 predefined effects.


    License


    ImageStone is free. You can use the code however you want (free or commercial), as long as 


    you don't claim it as your own. (If you use it in your product, I hope I could be 


    notified.)


    Using ImageStone


    It's extremely easy. All you need to do is add #include "ImageStone.h" at the beginning of 


    your source code. If you are using ImageStone in a MFC project, just add this include line 


    at the end of the StdAfx.h file.


    The most basic and most important class is FCObjImage. Learn how to use it.


    ... load/save image file under any OS
    // for Windows : ImageStone uses GDI+ to load/save image,
    //               Jpg/Png/Gif/Bmp/Tga/Tif be supported
    // for Linux : Only Bmp/Tga are supported, but you can set
    //             FreeImage handler to support more.
    FCObjImage   img ;
    img.Load ("test.jpg") ;
    if (!img.IsValidImage())
    {
    assert(false) ;
    returnfalse ;
    }
    // print image's information : width, height, bit per pixel
    printf ("image's width : %d",  img.Width()) ;
    printf ("image's height : %d", img.Height()) ;
    printf ("image's bpp : %d",    img.ColorBits()) ;
    // Load/Save function determine image's format by file's ext name
    // save image as jpeg file, its quality set 90 (ranges from 1 to 99)
    img.Save ("save.jpg", 90) ;
    img.Save ("save.png") ;
    img.Save ("save.tif") ;
    // Another way to set quality
    FCImageProperty   prop ;
    prop.SetPropertyValue (IMAGE_TAG_JPEG_QUALITY, "90") ;
    img.Save ("save.jpg", prop) ;
    ... load image from memory under any OS
    // Load image into memory
    char* p = 0 ;
    intn = 0 ;
    FCOXOHelper::LoadFileToBuffer ("test.jpg", p, n) ;
    FCObjImage   img ;
    img.Load (p, n, IMG_JPG) ;
    delete[] p ;
    // this line demonstrates how to determine the image's format by
    // the file's ext name
    IMAGE_TYPE  t = FCObjImage::GetImageHandleFactory()->
    QueryImageFileType("test.jpg");
    ... load image from DIB stream under any OS
    // Load image into memory
    char* p = 0 ;
    intn = 0 ;
    FCOXOHelper::LoadFileToBuffer ("test.bmp", p, n) ;
    p += sizeof(BITMAPFILEHEADER) ;
    // now p points to a DIB stream
    FCObjImage   img ;
    img.LoadDIBStream (p, n) ;
    delete[] p ;
    ... load image from a resource under Windows
    // Load image from local exe file
    FCObjImage   img ;
    FCWin32::LoadImageRes (img, MAKEINTRESOURCE(nID), TEXT("JPG"),
    IMG_JPG) ;
    // Load image from DLL's resource
    HMODULE   hDll = LoadLibrary (TEXT("ResDll.dll")) ;
    FCWin32::LoadImageRes (img, MAKEINTRESOURCE(nID), TEXT("JPG"),
    IMG_JPG, hDll) ;
    // Load image from standard BITMAP resource
    FCWin32::LoadImageBitmapRes (img, MAKEINTRESOURCE(nID)) ;
    ... load/save image via FreeImage library
    // change to FreeImage library to load/save image
    // for more detail, refer to example 005
    FCObjImage::SetImageHandleFactory (new FCImageHandleFactory_FreeImage) ;
    img.Load ("test.jpg") ;
    // change to GDI+ load/save image
    FCObjImage::SetImageHandleFactory (new FCImageHandleFactory_Gdiplus) ;
    img.Load ("test.jpg") ;
    ... combine ImageHandleFactory
    // use FreeImage to load/save PSD/PCX image
    class CMyImageFactory : public FCImageHandleFactory
    {
    protected:
    virtual FCImageHandleBase* CreateImageHandle (IMAGE_TYPE imgType)
    {
    switch (imgType)
    {
    case IMG_BMP : returnnew FCImageHandle_Bmp ;
    case IMG_TGA : returnnew FCImageHandle_Tga ;
    case IMG_JPG : returnnew FCImageHandle_Gdiplus ;
    case IMG_GIF : returnnew FCImageHandle_Gdiplus ;
    case IMG_TIF : returnnew FCImageHandle_Gdiplus ;
    case IMG_PNG : returnnew FCImageHandle_Gdiplus ;
    case IMG_PCX : returnnew FCImageHandle_FreeImage ;
    case IMG_PSD : returnnew FCImageHandle_FreeImage ;
    }
    return 0 ;
    }
    // protected avoid user delete object.
    virtual ~CMyImageFactory() {}
    };
    // use our custom factory to read/write image
    FCObjImage::SetImageHandleFactory (new CMyImageFactory) ;
    FCObjImage   img ;
    img.Load ("test.jpg") ;
    ... load multi-frame GIF
    FCObjMultiFrame   img ;
    img.Load ("test.gif") ;
    img.GetFrame(0)->Save ("001.jpg") ;
    img.GetFrame(1)->Save ("001.jpg") ;
    ...
    ... Load a jpeg's EXIF information
    FCObjImage        img ;
    FCImageProperty   prop ;
    img.Load ("test.jpg", &prop) ;
    // get camera's ISO speed
    std::stringm = prop.QueryPropertyValue (IMAGE_TAG_EXIF_ISOSpeed) ;
    // get camera's equip model
    std::stringn = prop.QueryPropertyValue (IMAGE_TAG_EquipModel) ;
    ... draw image object under Windows
    FCObjImage   img ;
    // capture current screen
    RECT         rc = {0, 0, GetSystemMetrics(SM_CXSCREEN),
                 GetSystemMetrics(SM_CYSCREEN)} ;
    FCWin32::CaptureScreen (img, rc) ;
    // Draw image (no stretch) where top-left at (0,0) of hdc
    FCWin32::DrawImage (img, hdc, 0, 0) ;
    // Stretch image on region of hdc
    RECT     rcOnDC = {100, 100, 200, 200} ;
    FCWin32::DrawImage (img, hdc, rcOnDC) ;
    // Stretch image on central of hdc's region and keep image's aspect
    FCWin32::DrawImageAspect (img, hdc, rcOnDC) ;
    // Stretch region of image on region of hdc
    RECT     rcImg = {20, 20, 50, 50} ;
    FCWin32::DrawImage (img, hdc, rcOnDC, rcImg) ;
    ... copy/paste image to/from Clipboard
    FCObjImage   img ;
    img.Load ("test.jpg") ;
    // copy image to Clipboard
    FCWin32::CopyToClipboard (img) ;
    // get image on Clipboard
    FCWin32::GetClipboardImage (img) ;
    ... convert between GDI HBITMAP and FCObjImage
    // create HBITMAP from FCObjImage object
    FCObjImage   img ;
    img.Load ("test.jpg") ;
    HBITMAP   h = FCWin32::CreateDDBHandle (img) ;
    // create FCObjImage object from HBITMAP
    FCWin32::CreateImageFromDDB (h, img) ;
    ... convert between GDI+ bitmap and FCObjImage
    // create GDI+ Bitmap from FCObjImage object
    FCObjImage   img ;
    img.Load ("test.jpg") ;
    Gdiplus::Bitmap   * pBmp = FCWin32::GDIPlus_CreateBitmap(img) ;
    delete pBmp ;
    // create FCObjImage object from GDI+ Bitmap
    FCWin32::GDIPlus_LoadBitmap (*pBmp, img) ;
    ... process image
    FCObjImage   img ;
    img.Load ("test.jpg") ;
    // resize (smooth) image
    img.Stretch (nWidth, nHeight) ;
    img.Stretch_Smooth (nWidth, nHeight) ;
    // Use SinglePixelProcessProc interface to process image.
    // There are over 100 pre-implemented effects;
    // please refer to class derived from FCInterface_PixelProcess
    FCPixelRotate   aCmd (37) ;
    img.SinglePixelProcessProc (aCmd) ;
    FCPixelBrightness   aCmd (150) ;    // 150%
    img.SinglePixelProcessProc (aCmd) ;
    FCPixelMosaic   aCmd(5) ;
    img.SinglePixelProcessProc (aCmd) ;
    FCPixelOilPaint   aCmd (3) ;
    img.SinglePixelProcessProc (aCmd) ;
    ... custom image processing
    // our processor : change pixel's RGB value
    class CMyPixelProcessor : public FCSinglePixelProcessBase
    {
    public:
    CMyPixelProcessor (int nR, int nG, int nB) : m_R(nR), m_G(nG),
    m_B(nB) {}
    private:
    virtualvoid ProcessPixel (FCObjImage* pImg, int x, int y,
    BYTE* pPixel)
    {
    PCL_B(pPixel) = FClamp0255 (PCL_B(pPixel) + m_B) ;
    PCL_G(pPixel) = FClamp0255 (PCL_G(pPixel) + m_G) ;
    PCL_R(pPixel) = FClamp0255 (PCL_R(pPixel) + m_R) ;
    }
    intm_R, m_G, m_B ;
    };
    // this class has the same function to upper class,
    // but implements other class
    class CMyImageProcessor : public FCPixelWholeImageBase
    {
    public:
    CMyPixelProcessor (int nR, int nG, int nB) : m_R(nR), m_G(nG),
    m_B(nB) {}
    private:
    virtualvoid ProcessWholeImage (FCObjImage* pImg,
    FCObjProgress* pProgress)
    {
    for (int y=0 ; y < pImg->Height() ; y++)
    {
    for (int x=0 ; x < pImg->Width() ; x++)
    {
    BYTE   * p = pImg->GetBits(x,y) ;
    PCL_B(p)   = FClamp0255 (PCL_B(p) + m_B) ;
    PCL_G(p)   = FClamp0255 (PCL_G(p) + m_G) ;
    PCL_R(p)   = FClamp0255 (PCL_R(p) + m_R) ;
    }
    if (pProgress)
    pProgress->SetProgress (100 * y / pImg->Height()) ;
    }
    }
    intm_R, m_G, m_B ;
    };
    // use our custom processor
    FCObjImage   img ;
    img.Load ("test.jpg") ;
    CMyPixelProcessor   aCmd (20, 20, 20) ;
    img.SinglePixelProcessProc (aCmd) ;
    CMyImageProcessor   aCmd (20, 20, 20) ;
    img.SinglePixelProcessProc (aCmd) ;
    ... add text on image
    FCObjImage   img ;
    img.Load ("c://test.jpg") ;
    // now we create text layer
    FCObjTextLayer   imgT ;
    PACK_TextLayer   tp ;
    tp.m_bAddShadow   = false ;
    tp.m_bAntiAliased = true ;
    tp.m_bBold        = true ;
    tp.m_bItalic      = true ;
    tp.m_crFont       = PCL_RGBA(0,0,255) ;
    tp.m_nFontSize    = 128 ;
    tp.m_strFace      = "Arial" ;
    tp.m_strText      = "Hello" ;
    FCWin32::CreateTextLayer_GDIPlus (imgT, tp) ;
    // Now we have created a text image. Additionaly,
    // we can add some affect to it, such as gradient color
    POINT                 pt1={0,0}, pt2={0,50} ;
    FCPixelGradientLine   aCmd (pt1, pt2, PCL_RGBA(0,0,255),
    FCColor::crWhite()) ;
    imgT.SinglePixelProcessProc (aCmd) ;
    // blend text layer on image
    RECT   rc = {0, 0, imgT.Width(), imgT.Height()} ;
    img.AlphaBlend (imgT, rc, rc, 100) ;
    GIMP


    The GIMP是一个免费的、分布式的图片润饰、图象制作和处理软件,内含几乎所有图象处理所需的功能


    ,号称Linux下的PhotoShop。GIMP在Linux系统推出时就风靡了许多绘图爱好者的喜爱,它的接口相当轻


    巧,但其功能却不输于专业的绘图软件;它提供了各种的影像处理工具、滤镜,还有许多的组件模块,


    对于要制作一个又酷又炫的网页按钮或网站Logo来说是一个非常方便好用的绘图软件,因为它也提供了


    许多的组件模块,你只要稍加修改一下,便可制作出一个属于你的网页按钮或网站Logo。 如今推出了


    For Windows版本,还不赶快试试... 注:需要安装GTK+环境包才能正常安装.


    下载地址:http://dlc2.pconline.com.cn/filedown.jsp?dlid=10351&linkid=6361451


    CxImage


    CxImage类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,


    有那么多优秀的图形库,如OpenIL,FreeImage,PaintLib等等,它们可谓是功能强大,齐全,没必要用其


    它的类库。但我要说,这些类库基本上没有免费的,使用这些类库,你要被这样那样的许可协议所束缚


    。在这点上,CxImage类库是完全免费的。另外,在使用上述类库时,你会遇到重重麻烦。因为它们大部


    分是平台无关的,且用C语言写成,有的还夹杂着基本的C++ wrapper和成堆德编译选项的声明需要你去


    处理。而CxImage类库在这方面做得很好。还有让我最看好的,就是作者完全公开了源代码。相对于那些


    封装好的图形库和GDI+来说,这一点使我们可以进一步学习各种编解码技术,而不再浮于各种技术的表


    面。如果想下载CxImage,可以http://www.codeproject.com上下载。 CxImage类库的结构:


    一个CxImage对象是一个扩展了的位图。作者只是在位图结构上添加了一些起存储信息作用的成员变量。


    一个CxImage对象(同时)也是一组层。每个层只有在需要时才会分配相应的缓冲区。CxImage::pDib代


    表着背景图像,CxImage::pAlpha代表着透明层,CxImage::pSelection代表着被选中的层,被用来创建


    图像处理时让用户感兴趣的区域。在这三个特殊层面的基础上,你可以增加一些额外的层,这些层可以


    存储在CxImage::pLayers中。一般说来,层是一个完整的CxImage对象。因此,你可以构造很复杂的嵌套


    层。下面是CxImage的一些成员变量:


    class CxImage
    {
    ...
    protected:
    void* pDib;            //包含文件头,调色板等等
    BITMAPINFOHEADER head; //标准的文件头(位图)
    CXIMAGEINFO info;      //扩展了的信息
    BYTE* pSelection;      //用户选中的区域
    BYTE* pAlpha;          //alpha通道
    CxImage** pLayers;     //通用层
    }
    typedef struct tagCxImageInfo {
    DWORD   dwEffWidth;       //DWORD 扫描线宽
    BYTE*   pImage;           //图像位数
    void*   pGhost;           //if this is a ghost, pGhost point to the body
    DWORD   dwType;           //原图像的格式
    char    szLastError[256]; //出错信息
    long    nProgress;        //监视循环的次数
    long    nEscape;          //跳出标志
    long    nBkgndIndex;      //GIF, PNG, MNG格式使用
    RGBQUAD nBkgndColor;      //RGB三原色透明度
    BYTE    nQuality;         //JPEG格式使用
    long    nFrame;           //TIF, GIF, MNG使用 :实际的帧数
    long    nNumFrames;       //TIF, GIF, MNG使用 :帧总数
    DWORD   dwFrameDelay;     //GIF, MNG使用
    long    xDPI;             //水平分辨率
    long    yDPI;             //垂直分辨率
    RECT    rSelectionBox;    //选中的矩形区
    BYTE    nAlphaMax;        //阴影的最大不透明度
    bool    bAlphaPaletteEnabled;  //如果调色板中有Alpha通道则为真
    bool    bEnabled;         //打开绘图函数
    long    xOffset;
    long    yOffset;
    DWORD   dwEncodeOption;   //一些编码选项
    RGBQUAD last_c;           //一些优化选项
    BYTE    last_c_index;
    bool    last_c_isvalid;
    long    nNumLayers;
    DWORD   dwFlags;
    } CXIMAGEINFO;
    要在picture box中显示一个png格式的文件,只需:
    CxImage image("myfile.png", CXIMAGE_FORMAT_PNG);
    HBITMAP m_bitmap = image.MakeBitmap(m_picture.GetDC()->m_hDC);
    m_picture.SetBitmap(m_bitmap);
    其它格式则类推。
    Examples: how to ...
    ... convert from a format to another
    CxImage  image;
    // bmp -> jpg
    image.Load("image.bmp", CXIMAGE_FORMAT_BMP);
    if (image.IsValid()){
    if(!image.IsGrayScale()) image.IncreaseBpp(24);
    image.SetJpegQuality(99);
    image.Save("image.jpg",CXIMAGE_FORMAT_JPG);
    }
    // png -> tif
    image.Load("image.png", CXIMAGE_FORMAT_PNG);
    if (image.IsValid()){
    image.Save("image.tif",CXIMAGE_FORMAT_TIF);
    }
    ... load an image resource
    //Load the resource IDR_PNG1 from the PNG resource type
    CxImage* newImage = new CxImage();
    newImage->LoadResource(FindResource(NULL,MAKEINTRESOURCE(IDR_PNG1),
    "PNG"),CXIMAGE_FORMAT_PNG);
    or//Load the resource IDR_JPG1 from DLL
    CxImage* newImage = new CxImage();
    HINSTANCE hdll=LoadLibrary("imagelib.dll");
    if (hdll){
    HRSRC hres=FindResource(hdll,MAKEINTRESOURCE(IDR_JPG1),"JPG");
    newImage->LoadResource(hres,CXIMAGE_FORMAT_JPG,hdll);
    FreeLibrary(hdll);
    }
    or//Load a bitmap resource;
    HBITMAP bitmap = ::LoadBitmap(AfxGetInstanceHandle(),
    MAKEINTRESOURCE(IDB_BITMAP1)));
    CxImage *newImage = new CxImage();
    newImage->CreateFromHBITMAP(bitmap);
    ... decode an image from memory
    CxImage image((BYTE*)buffer,size,image_type);
    orCxMemFile memfile((BYTE*)buffer,size);
    CxImage image(&memfile,image_type);
    orCxMemFile memfile((BYTE*)buffer,size);
    CxImage* image = new CxImage();
    image->Decode(&memfile,type);
    ... encode an image in memory
    long size=0;
    BYTE* buffer=0;
    image.Encode(buffer,size,image_type);
    ...
    free(buffer);
    orCxMemFile memfile;
    memfile.Open();
    image.Encode(&memfile,image_type);
    BYTE* buffer = memfile.GetBuffer();
    long size = memfile.Size();
    ...
    free(buffer);
    ... create a multipage TIFF
    CxImage *pimage[3];
    pimage[0]=&image1;
    pimage[1]=&image2;
    pimage[2]=&image3;
    FILE* hFile;
    hFile = fopen("multipage.tif","w+b");
    CxImageTIF multiimage;
    multiimage.Encode(hFile,pimage,3);
    fclose(hFile);
    orFILE* hFile;
    hFile = fopen("c://multi.tif","w+b");
    CxImageTIF image;
    image.Load("c://1.tif",CXIMAGE_FORMAT_TIF);
    image.Encode(hFile,true);
    image.Load("c://2.bmp",CXIMAGE_FORMAT_BMP);
    image.Encode(hFile,true);
    image.Load("c://3.png",CXIMAGE_FORMAT_PNG);
    image.Encode(hFile);
    fclose(hFile);
    ... copy/paste an image
    //copy
    HANDLE hDIB = image->CopyToHandle();
    if (::OpenClipboard(AfxGetApp()->m_pMainWnd->GetSafeHwnd())) {
    if(::EmptyClipboard()) {
    if (::SetClipboardData(CF_DIB,hDIB) == NULL ) {
    AfxMessageBox( "Unable to set Clipboard data" );
    }    }    }
    CloseClipboard();
    //paste
    HANDLE hBitmap=NULL;
    CxImage *newima = new CxImage();
    if (OpenClipboard()) hBitmap=GetClipboardData(CF_DIB);
    if (hBitmap) newima->CreateFromHANDLE(hBitmap);
    CloseClipboard();
    需要大家注意的是:整个CxImage类库非常大。如果你只需要能处理其中的几种格式,你可以在主要的头


    文件ximage.h中找到一些开关选项来关闭一些图像库。JPG、PNG、TIFF中的每一个库,都会向最终程序


    增加约100KB的内容。而CxImage类库压缩后只有约60KB。所以,你需要谨慎挑选一些你真正需要的类库


    。作者提供的示例工程在编译后,你会发现如下一些文件: ·CxImage : cximage.lib - static 


    library ·CxImageCrtDll : cximagecrt.dll - DLL not using mfc ·CxImageMfcDll : cximage.dll 


    - DLL using mfc ·Demo : demo.exe - program linked with cximage.lib and the C libraries 


    ·DemoDll : demodll.exe - program linked with cximagecrt.dll 


    ·j2k,jasper,jbig,jpeg,png,tiff,zlib : static C libraries 构建这些工程需要耗费几分钟的时间


    (中间文件可达60MB)。下面则是使用CxImage类库前必须设置的一些参数:


    Project Settings
    |- C/C++
    |   |- Code Generation
    |   |   |- Use run-time library : Multithreaded DLL (must be the same for
    |   |   |  all the linked libraries)
    |   |   |- Struct member alignment : must be the same for all the linked
    |   |   |  libraries
    |   |- Precompiled headers : not using precompiled headers
    |   |- Preprocessor
    |       |- Additional Include Directories:  ../cximage
    |- Link
    |- General
    |- Object/library modules: ../png/Debug/png.lib
    ../jpeg/Debug/jpeg.lib
    ../zlib/Debug/zlib.lib
    ../tiff/Debug/tiff.lib
    ../cximage/Debug/cximage.lib  ..
    ========

    史上超强图像处理开源工具包--ImageMagick

    http://blog.csdn.net/codepython/article/details/50956903


    ImageMagick简要介绍
    ImageMagick是一套功能强大、稳定而且免费的工具集和开发包。
    可以用来读、写和图像格式转换,可以处理超过100种图像格式,包括流行的TIFF, JPEG, GIF, PNG, 


    PDF以及PhotoCD等格式。
    对图片的操作,即可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成



     
    运行平台
    ImageMagick几乎可以在任何非专有的操作系统上编译,无论是32位还是64位的CPU,包括*nix ,


    Windows '95/'98/ME/NT 4.0/2000/XP, Macintosh (MacOS 9 /10), VMS 和 OS/2.
     
    使用协议
    ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布。它遵守GPL许可协议。它


    可以运行于大多数的操作系统。
     
    支持语言
    Perl, C, C++, Python, PHP, Ruby, Java;现成的ImageMagick接口有以下几种(PerlMagick, Magick+


    +, PythonMagick, imagick for PHP, MagickWand for PHP, RubyMagick, and JMagick)。这可以让程


    序自动的动态的修改创建图片。
     
    支持图像格式
    ImageMagick支持至少90种图片格式: A, ART, AVI, AVS, B, BIE, BMP, BMP2, BMP3, C, CACHE, 


    CAPTION, CIN, CIP, CLIP, CLIPBOARD, CMYK, CMYKA, CUR, CUT, DCM, DCX, DNG, DOT, DPS, DPX, 


    EMF, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, FAX, FITS, FPX, FRACTAL, G, 


    G3, GIF, GIF87, GRADIENT, GRAY, HDF, HISTOGRAM, HTM, HTML, ICB, ICO, ICON, JBG, JBIG, JNG, 


    JP2, JPC, JPEG, JPG, JPX, K, LABEL, M, M2V, MAP, MAT, MATTE, MIFF, MNG, MONO, MPC, MPEG, 


    MPG, MSL, MTV, MVG, NULL, O, OTB, P7, PAL, PALM, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, 


    PDB, PDF, PFA, PFB, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG24, PNG32, PNG8, 


    PNM, PPM, PREVIEW, PS, PS2, PS3, PSD, PTIF, PWP, R, RAS, RGB, RGBA, RGBO, RLA, RLE, SCR, 


    SCT, SFW, SGI, SHTML, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, TIF, TIFF, TILE, TIM, TTC, TTF, 


    TXT, UIL, UYVY, VDA, VICAR, VID, VIFF, VST, WBMP, WMF, WMFWIN32, WMZ, WPG, X, XBM, XC, XCF, 


    XPM, XV, XWD, Y, YCbCr, YCbCrA, YUV
    由于上述这些特性,让它成为WEB图片处理的首选。
     
    主要功能
    1. 将图片从一个格式转换到另一个格式。
    2. 改变尺寸、旋转、锐化、减色、图片特效
    3. 缩略图片的合成图
    4. 适于web的背景透明的图片
    5. 将一组图片做成gif动画
    6. 将几张图片做成一张组合图片
    7. 在一个图片上写字或画图形,带文字阴影和边框渲染
    8. 给图片加边框或框架
    9. 取得一些图片的特性信息
    10 给图片添加水印信息
     
    安装测试
    1) 下载最新的ImageMagick压缩包
     在官网http://www.imagemagick.org/上可以下载各种版本的软件包
    2)配置编译并安装
       第一步:解开包文件
       tar zxvf ImageMagick-5.5.6.tar.gz 
       第二步:运行配置文件,生成Makefile文件
       ./configure --prefix==$targetDir
       默认生成的静态库和动态库放置在/usr/local/lib,在C/C++工程中需要用到的头文件放置


    在/usr/local/Include,你也可以通过指定$targetDir来将这些文件放置到其他目录中   
       第三步:编译
       make
       第四步:安装到指定的目录   
       make install
    3)各种图像格式的支持
      ImageMagick自身仅仅支持有限几种格式的图像,具体支持哪些格式图像,可以在第二步的配置结果可


    以看出(见下表),如果你要处理的某种格式图像在本配置结果列表中没有(--with-xxx=no),就需要下


    载该格式图像支持软件包  
    Delegate Configuration:
    BZLIB             --with-bzlib=yes              yes
    Autotrace         --with-autotrace=no           no
    Dejavu fonts      --with-dejavu-font-dir=default        none
    DJVU              --with-djvu=yes               no
    DPS               --with-dps=yes                no
    FFTW              --with-fftw=yes               no
    FlashPIX          --with-fpx=yes                no
    FontConfig        --with-fontconfig=no          no
    FreeType          --with-freetype=yes           no
    GhostPCL          None                          pcl6 (unknown)
    GhostXPS          None                          gxps (unknown)
    Ghostscript       None                          gs (unknown)
    Ghostscript fonts --with-gs-font-dir=default    /usr/share/fonts/default/Type1/
    Ghostscript lib   --with-gslib=no               no
    Graphviz          --with-gvc=yes                no
    JBIG              --with-jbig=yes               no
    JPEG v1           --with-jpeg=yes               yes
    JPEG-2000         --with-jp2=yes                no
    LCMS v1           --with-lcms=yes               no
    LCMS v2           --with-lcms2=yes              no
    LQR               --with-lqr=yes                no
    Magick++          --with-magick-plus-plus=yes   yes
    OpenEXR           --with-openexr=yes            no
    PERL              --with-perl=no                no
    PNG               --with-png=yes                no
    RSVG              --with-rsvg=no                no
    TIFF              --with-tiff=yes               no
    Windows fonts     --with-windows-font-dir=      none
    WMF               --with-wmf=yes                no
    X11               --with-x=                     no
    XML               --with-xml=no         no
    ZLIB              --with-zlib=yes               yes
      通常可以免费下载的软件包包括PNG、JPEG、TIFF等
      PNG包下载地点:http://sourceforge.net/projects/libpng/
      JPEG包下载地点:http://freshmeat.net/redir/libjpeg/5665/url_tgz/jpegsrc.v6b.tar.gz
      TIFF包下载地点: http://www.randycullom.com/ImageMagick/tiff-v3.5.5.tar.gz
      
     注意:
     1)如果需要支持这些格式图像,需要先安装这些软件包,再安装ImageMagick,在安装完成后,可以通


    过/usr/local/bin/convert -list format来看实际支持的文件格式。
     2)将ImageMagick安装后的函数库所在目录加入到/etc/profile文件中的LD_LIBRARY_PATH环境变量中


    ,以及/etc/ld.so.conf中同时运行ldconfig,否则一些对ImageMagic的应用可能会出问题。
      
    4)功能测试
    安装好以后,可以通过运行测试程序来检验安装是否正确,默认情况下,ImageMagick的可执行程序安装


    在/usr/local/bin目录下,可以通过运行相应的命令在检查上述功能,具体使用实例可以参见
    http://www.charry.org/docs/linux/ImageMagick/ImageMagick.html
       
    附录:其他一些图像处理软件包
    GIMP(http://www.gimp.org/)是一个基于GNU通用许可的图像处理软件, 它比较适合用于照片修饰, 图像


    合成和图像创作. 它可以正常工作于各大操作系统平台,并且有多个国家语言版本。
    详细安装和使用体验可以参考 强大的开源图像处理软件——GIMP(http://ukyoi-


    d.spaces.live.com/blog/cns!D40A6A1CE1A272AC!311.entry)
    Paint.NET(http://www.getpaint.net/) 是一个运行在Windows操作系统上面的图像和相片处理软件。它


    包含许多特性,包括具有直观的用户界面,并支持层,无限次的撤销,特效,以及各种各样的强大实用


    的插件。Paint.Net的体积很小,下载包才有2M多,但它的功能几乎强大到可比photoshop,只是要运行


    Paint.NET需要在电脑里面安装有NET.Framwork。
    Blender(http://www.blender.org/)是一个稳定的3D模型创作软件,可用于所有主要的操作系统,基于


    GPL许可。你可以利用它创建模型,阴影,动画等交互式3D效果。
    Crystal Space(http://www.crystalspace3d.org) 是一个免费的跨平台软件开发工具包,主要用来开发


    创建实时的3D图形和一些特别的游戏。主要支持Linux ,Mac OS X和Windows 。
    Art of Illusion (http://www.artofillusion.org/)是一个免费开源的3D模型渲染软件. 它使用Java语


    言编写, 可以运行在任何Java虚拟机上面。
    OpenFX (http://www.openfx.org/)是一个开放源码的三维建模,动画和渲染套件,由Stuart Ferguson


    博士创建。其强大的功能集包括一个完整的渲染和raytrace引擎, 在NURBS的支持下,采用基于运动学


    的动画,变形,以及广泛的插件API。
    Java Image Filters是由 Jhlabs 开发的一组用来处理 Java 图像的类库,提供各种常用的图像处理效


    果,例如反转色、扭曲、水波纹、凹凸、黑白效果等等数十种效果
    The CImg Library是一个强大的图像处理类库。在代码中使用此类可以导入/导出,处理,和显示图片,


    它是一个强大的处理图像的C++工具箱。
    FreeImage是一个自由、开源的图形库--FreeImage (支持位图构件―例 如调色板和数据位―的便易访问


    ;将位图从一种位深度转换到另一种位深度;当有多幅位图页―例如TIFF―时访问位图的不同页;基本


    的位图处理,如旋转、翻 转(flipping)和重采样,或点操作,如亮度和对比度调整;Alpha混合与合


    成(Compositing and blending);FreeImage不支持:高级图象处理操作,如回卷(Convolution)和


    变换(Transform);位图绘制; 矢量图形。)
     
    CxImage(http://www.codeproject.com/KB/graphics/cximage.aspx) 


    CxImage Structure
    CxImage类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,


    有那么多优秀的图形库,如OpenIL,FreeImage,PaintLib等等,它们可谓是功能强大,齐全,没必要用其


    它的类库。但我要说,这些类库基本上没有免费的,使用这些类库,你要被这样那样的许可协议所束缚


    。在这点上,CxImage类库是完全免费的。另外,在使用上述类库时,你会遇到重重麻烦。因为它们大部


    分是平台无关的,且用C语言写成,有的还夹杂着基本的C++ wrapper和成堆德编译选项的声明需要你去


    处理。而CxImage类库在这方面做得很好。还有让我最看好的,就是作者完全公开了源代码。相对于那些


    封装好的图形库和GDI+来说,这一点使我们可以进一步学习各种编解码技术,而不再浮于各种技术的表


    面。
    ========
    展开全文
  • 像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...
  • GDI+技术|c++图像处理

    2011-12-18 09:19:53
    随着Windows 2000的推出,上述情况有了极大的改观: 程序员不必了解每种图像格式的具体含义,照样可以写出多格式图像浏览或转换程序,这一切全都依赖于Windows 2000及后继版中所使用的GDI+技术。 和传统的GDI不同...
  • 图像处理库综述

    万次阅读 2016-08-02 19:33:14
    当需要做一些图像处理方面的学习和研究的时候,首要任务就是选择一套合适的图像处理类库,本文主要简单介绍下各家图像库的一些优缺点。不足之处,还请大家多多提建议,多谢!欢迎微信关注公众号“智能算法”,带您...
    图像处理库综述
    当需要做一些图像处理方面的学习和研究的时候,首要任务就是选择一套合适的图像处理类库,本文主要简单介绍下各家图像库的一些优缺点。OpenCV,Intel IPP,Halcon,MATLAB ,OpenGL,EmguCv,AForge.net,CxImage,FreeImage,paintlib,AGG,IPL,visDSK。不足之处,还请大家多多提建议,多谢!欢迎微信关注公众号“智能算法”,带您体验不一样的人生!
    1. OpenCV
    简介:OpenCV全称是:Open Source Computer Vision Library。是Intel®开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和一些C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。
    OpenCV功能
    提供对图像数据操作,图像/视频的输入输出,基本图像处理,结构分析,摄像头定标,运动分析,目标识别以及基本的GUI等的函数接口。
    OpenCV模块
    cv – 核心函数库;cvaux – 辅助函数库;cxcore – 数据结构与线性代数库;highgui – GUI函数库;ml – 机器学习函数库
    特点:
    免费,源代码公开,是一个跨平台的中、高层API 构成,它不依赖与其它的外部库,尽管也可以使用某些外部库。,为了完全独立于IPL (INTEL的图像处理库) OpenCV 复制了IplImage 和其它一些结构变量的声明。
    OpenCV 为Intel® Integrated PerformancePrimitives (IPP) 提供了透明的用户使用接口。它对IPP不存在任何依赖。但如果安装了IPP,那么OpenCV将会通过自动载入IPP动态链接库来获取IPP的优势,来提升速度。

    2. Intel IPP
    简介:IPP“Intel Integrated Performance Primitives” ( Intel IPP )是一套跨平台的软件函数库,
    他提供了广泛的多媒体功能:音频解码器(例如: H263 、 MPEG-4 )、图像处理 (JPEG) 、信号处理、语音压缩(例如: G723 、 GSM 、 AMR )和加密机制。
    Intel IPP 针对大量的 Intel Microprocessor (微处理器)进行优化: Intel Pentium 4 处理器,采用 Intel Centrino 移动运算技术的 Intel Pentium M 处理器组件, Intel Itanium 2 处理器、 Intel Xeon 处理器以及采用 Intel XScale 技术的 Intel PCA 应用处理器。采用一套跨平台结构的通用 API ,使用者除了不需要担心平台兼容性的问题,更节省了开发成本以及研发时间,使用者可以轻轻松松移植原有应用程序。
    特点:
    IPP收费源代码不公开, 跨平台和OS的通用 API
    函数库:信号处理,图像处理,多媒体,向量处理等
    高性能代码,不需要写汇编代码,获得优化的应用程序,速度快,效率高

    3. Halcon
    简介:德国MVtec公司的图像处理软件HALCON,是世界公认具有最佳效能的机器视觉软件。它发源自学术界,有别于市面一些商用软件包。事实上,这是一套图像处理库,由一千多个各自独立的函数,以及底层的数据管理核心构成。其中包含了各类滤波、色彩分析以及几何、数学变换、形态学计算分析、校正、分类、辨识、形状搜索等等基本的几何以及图像计算功能,由于这些功能大多并非针对特定工作设计的,因此只要用得到图像处理的地方,就可以用HALCON强大的计算分析能力来完成工作。应用范围几乎没有限制,涵盖医学、遥感探测、监拎、及工业上的各类自动化检测。近年来,由于机器视觉技术的发展,这种可以”取代人眼”,对重复工作不会疲劳,精度高且稳定的特质,促进了高科技业的发展,例如电子业产量的大幅提升。而MVTec公司更是不断的与学术界合作,并且将最新的学术研究成果纳入其中,不但使自己的技术处于业界领导地位,同时也将机器视觉技术推向更高的境界。
    机器视觉软件HALCON在世界范围内被广泛的使用,用户可以利用其开放式结构快速开发图像处理和机器视觉应用。
    一个专业的图像处理工具不只包含一个图像处理函数库。图像处理任务的解决只是整个机器视觉解决方案的一部分,还包括处理控件和或者数据库连接等软件部分,图像获取及其照明等硬件部分。因此,图像处理系统简单易用,并且能活嵌入到开发项目中是非常重要的。Halcon充分考虑到这些方面,它有如下的特点:
    1). HALCON包含了一套交互式的程序设计接口HDevelop,可在其中以HALCON程序代码直接编写、修改、执行程序,并且可以查看计算过程中的所有变量,设计完成后,可以直接输出C/ C++,或是COM(visual basic)程序代码,嵌入到应用程序程序中。
    2). HALCON不限制取像设备,可以自行挑选合适的设备。原厂己提供了4 0余种相机的驱动,即使是尚未支持的相机,除了可以透过指针(pointer)轻易的抓取影像,还可以利用HALOCN开放性的架构,自行编写DLL文件和系统连接。
    3). 使用HALCON有最好的投资效益。这套软件支持的操作系统除了微软的NT/XP/2000,还有Linux, Solaris7,  181X6. 5, "1'ru64 UN1X5. 1等等,当需要开发出一套系统,就可以轻易转换作业平台,以符合需求。为了加快速度,还可以使用多处理器的计算机,所编写的程序不必更动。
    4). 使用HALOCN,在设计人机接口时没有特别的限制,也不需要特别的可视化组件,可以完全使用开发环境下的程序语言,例如Mircosoft Visual Studio等等,架构自己的接口,最终用户看不到开发工具,而且在执行软件的机器上,只需要很少的资源。

    4. MATLAB 
    简介:MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
    MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
    MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C, FORTRAN, C++, JAVA的支持。
    特点:
    1). 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;
    2). 具有完备的图形处理功能,实现计算结果和编程的可视化;
    3). 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;
    4). 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。
    功能十分强大,正版软件价钱昂贵,适用于学术研究,仿真和演示。在软件开发,工程应用方面有一定的局限性。

    5. OpenGL
    OpenGL(全写Open Graphics Library)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。
    OpenGL 是行业领域中最为广泛接纳的 2D/3D 图形API,其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL™ 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含CAD、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,OpenGL™ 帮助程序员实现在 PC、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。
    特点:
    1). 与C语言紧密结合。
    OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的。如果你曾经接触过TC的graphics.h,你会发现,使用OpenGL作图甚至比TC更加简单。
    2). 强大的可移植性。
    微软的Direct3D虽然也是十分优秀的图形API,但它只用于Windows系统(现在还要加上一个XBOX游戏机)。而OpenGL不仅用于 Windows,还可以用于Unix/Linux等其它系统,它甚至在大型计算机、各种专业计算机(如:医疗用显示设备)上都有应用。并且,OpenGL 的基本命令都做到了硬件无关,甚至是平台无关。
    3). 高性能的图形渲染。
    OpenGL是一个工业标准,它的技术紧跟时代,现今各个显卡厂家无一不对OpenGL提供强力支持,激烈的竞争中使得OpenGL性能一直领先。
    总之,OpenGL是一个很NB的图形软件接口。至于究竟有多NB,去看看DOOM3和QUAKE4等专业游戏就知道了。

    6. EmguCv
    EmguCV 是.NET 平台下对OpenCV 图像处理库的封装。也就是OpenCV的.NET 版。它运行在.NET 兼容的编程语言下调用OpenCV 的函数,如C#、VB、VC++、IronPython 等。这个封装库可以在Mono 下编译和在Linux / Mac OSX 上运行。EmguCV 全部用 C#编写 ,它可以在Mono环境里编 译,在 任何 Mono支持的平台 (如 Linux, Solaris,MacOSX ) 上 运 行 。EmguCV 的其他优势还有,支持通用颜色和深度的图像类,自动垃圾收集,可XML序列化的图像,XML 文档和 Intel license 支持, 自由选择图像类或 OpenCV 的 direct invoke 函数 ,图像象 素上的通用操作等。 也就是说 ,EmguCV 不仅继承了 OpenCV 的所有功能和特点 ,而且在跨平台支持方面也有更大的突破 。
    将OpenCv的绝大部分功能都包装成了.net类、结构或者枚举。不过文档不全,还是得对照OpenCv的文档去看才行。

    7. AForge.net
    AForge.NET 是一个专门为开发者和研究者基于C#框架设计的,他包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,机器人等领域。
    这个框架由一系列的类库和例子组成。其中包括的特征有:
    AForge.Imaging -一些日常的图像处理和过滤器
    AForge.Vision -计算机视觉应用类库
    AForge.Neuro -神经网络计算库
    AForge.Genetic -进化算法编程库
    AForge.MachineLearning -机器学习类库
    AForge.Robotics -提供一些机器学习的工具类库
    AForge.Video -一系列的视频处理类库(很方便)
    纯.net类库,接口简单,用起来很方便。

    8. CxImage
    CxImage类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,有那么多优秀的图形库,如OpenIL,FreeImage,PaintLib等等,它们可谓是功能强大,齐全,没必要用其它的类库。但我要说,这些类库基本上没有免费的,使用这些类库,你要被这样那样的许可协议所束缚。在这点上,CxImage类库是完全免费的。另外,在使用上述类库时,你会遇到重重麻烦。因为它们大部分是平台无关的,且用C语言写成,有的还夹杂着基本的C++ wrapper和成堆的编译选项的声明需要你去处理。而CxImage类库在这方面做得很好。作者完全公开了源代码。相对于那些封装好的图形库和GDI+来说,这一点使我们可以进一步学习各种编解码技术,而不再浮于各种技术的表面。

    9. FreeImage
    FreeImage 是一款免费的、开源的、跨平台(Windows 、Linux 和Mac OS X )的,支持20 多种图像类型的(如BMP 、JPEG 、GIF 、PNG 、TIFF 等)图像处理库。其最大优点就是采用插件驱动型架构,具有快速、灵活、简单易用的特点,得到了广泛使用。
    FreeImage 的主要功能有多格式位图的读写;方便的位图信息获取;位深度转换;位图页面访问;基本的几何变换和点处理;通道合并与混合等。FreeImage 暂时不支持矢量图形和高级图像处理,位图绘制需要由用户来完成。
    FreeImage 中的所有函数都以FreeImage_ 开头,如图像文件的读写函数分别为FreeImage_Load 和FreeImage_Save 。FIBITMAP 数据结构保存着位图信息和像素数据,是FreeImage 的核心。

    10. paintlib
    paintlib是一个可移植的用于图像加载、保存和处理的C++类库。可从BMP, GIF, JPEG, PCX, PGM, PICT, PNG, PSD, TGA, TIFF和WMF文件中加载图像,且可保存为BMP, JPEG, PNG和TIFF格式。既可通过在过滤器类中执行过滤, 也可通过直接访问位图来进行图像处理。提供了完整的C++源码。

    11. AGG
    AGG,全名:Anti-Grain Geometry,是一个开源的、高效的2D图形库
    AGG是一个高效的、高质量的、开源的矢量图形库,类似的有:GTK+的Cairo,Microsoft的GDI+。在三者中,AGG的性能是最高的(不讨论Skia和Direct2D,他们有OGL和DX的硬件加速,绘图速度根本不是一个档次的)。
    特点:
    AGG的功能与GDI+的功能非常类似,但提供了比GDI+更灵活的编程接口,其产生的图形的质量也非常高,而且它是跨平台的,其宣传可以在非常多的操作系统上运行.
    AGG的功能
    1). 支持ALPHA、GAMMA等变色处理,以及用户自定义的变色处理;
    2). 支持任意2D图形变换;
    3). 支持SVG和PostScript描述,适于网上图形生成;
    4). 支持高质量的图形处理,支持反走样插值等高级功能;
    5). 支持任意方式的惭变色处理;
    6). 支持所有颜色格式;
    7). 支持对位图的多种处理;
    8). 支持直线的多种处理,类似于GDI+;
    9). 支持GPC,即通用多边形裁剪方法;
    10). 支持多种字体输出,包括汉字的处理;
    效率高,质量高(有反锯齿),功能强大,跨平台和平台GUI支持,缺点:没有硬件加速,文档少,门槛略高.

    12. IPL:
    Intel 的IPL image library虽然没有开源但是进行普通的图像处理非常好用,像拉布拉斯算子,索贝尔算子等等边缘提取和锐化的函数。 如果目标平台是PC机或者工控机又是Intel的CPU,这是一个非常不错的选择。
    现在已经没有IPL了,IPL已经是IPP的一部分了,不过还是可以下载早期版本。IPP的教育版50$,不是很贵,集成大部分算法1D signal processing, 语音信号处理;2D signal prodessing, image processing, video processing. Open CV的模式将很类似于IPL.
    特点:
    IPL 图象处理库,免费,起初开源,后来不开源。

    13. visDSK:
    MICROSOFT图像处理库,免费、开源。OpenCV未出现时很受追捧,但是现在visDSK能做的OpenCV都可以做,在速度上,OpenCV还有Intel公司的优化支持。visDSK的时代已然成为过去。

    欢迎关注微信公众号“智能算法”,带您体验不一样的人生!

    展开全文
  • 基于GUI的简易图像处理系统设计与实现

    万次阅读 热门讨论 2015-11-26 21:46:10
    自定义简易图像处理系统:综合此前内容得出该系统,系统功能包括:图像简单处理、图像的灰度变换、图像直方图均衡化和比特平面分层、空间域滤波、频率域滤波、彩色图像的空间域滤波。界面如图1: 图 1 ...
  • 前言:为什么图像处理学习最常用的图片是Lena? 标题 参考[1] 。Lena Söderberg 是瑞典模特,最初出现在《花花公子》1972年11月期的杂志中,原图是一张裸体图片(这并不是重点!!!)。其实还有一些原因[2]: ...
  • “平滑处理“(smoothing)也称“模糊处理”(bluring),是一项简单且使用频率很高的图像处理方法。平滑处理的用途有很多,最常见的是用来减少图像上的噪点或者失真。在涉及到降低图像分辨率时,平滑处理是非常...
  • JPEG XL WIC提供了专用于JPEG XL图像编解码器的WIC(Windows图像组件)体系结构实现。 它允许Windows系统识别JPEG XL文件格式,并直接在其图像处理操作中使用JPEG XL编解码器。 该技术将图像查看简化为仅使用...
  • 图像处理基础和OpenCV常用接口

    千次阅读 2019-03-31 14:07:35
    目录一 OpenCV安装1 windows2 Ubuntu二 笛卡尔坐标系和极坐标系三 图像处理流程1 低通滤波2 图像细化3 图像锐化4 图像平滑5 图像二值化6 图像分割算法7 文档矫正四 imread函数1 imread()的用法2 打开中文名称图片3 ...
  • 小甲鱼零基础入门学习python笔记

    万次阅读 多人点赞 2019-08-14 11:06:30
    032 异常处理:你不可能总是对的 033 异常处理:你不可能总是对的2 034 丰富的else语句及简洁的with语句 035 图形用户界面入门:EasyGui 036 类和对象:给大家介绍对象 037 类和对象:面向对象编程 038 类和对象:...
  • 常使用在各个视频处理组件中。 YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽。YUV是编译true-color颜色空间(color space)的种类,Y'UV, YUV, YCbCr,YPbPr等专有名词都可以称为YUV,彼此有...
  • WPF的图像处理

    万次阅读 2012-07-06 15:52:09
    通过 Microsoft Windows Presentation Foundation 图像处理组件,开发人员可以显示、转换和格式化图像。 WPF 图像处理组件 WPF 图像处理使得 Microsoft Windows 内的图像处理功能得到了极大改进。以前,图像处理...
  • 图像处理中常见的概念有模式(mode)、通道(bands)、尺寸(size)、坐标系统(coordinate system)、调色板(palette)、信息(info)和滤波器(filters)。 模式(mode) 所谓图像模式就是把色彩分解成部分...
  • Delphi基本图像处理方法汇总

    千次阅读 2016-12-21 13:39:40
    本文实例汇总了Delphi基本图像处理方法。分享给大家供大家参考。具体分析如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...
  • 使用Pillow库处理图像文件 第三章 程序流程控制 几个例题 选择题:1、2、3 填空题:6 思考题:3~6 上机实践:2~14 案例研究:使用嵌套循环实现图像处理算法 第四章 常用内置数据类型 几个例题 选择题:11 填空题:4...
  • 常用图像处理库都有哪些?

    千次阅读 2019-07-18 09:52:31
    原文发布于微信公众号 - 智能算法(AI_Algorithm) OpenCV 简介:OpenCV全称是:Open Source Computer Vision Library。...它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面...
  • 图像处理职位面试题汇总(1)

    万次阅读 多人点赞 2013-10-30 16:14:55
    imread 函数用于读入各种图像文件,其一般的用法为:[X,MAP]=imread(‘filename’,‘fmt’)其中,X,MAP分别为读出的图像数据和颜色表数据,fmt为图像的格式,filename为读取的图像文件(可以加上文件的路径)。...
  • 图像算法:数字图像处理程序大全

    千次阅读 2015-04-02 19:32:25
    图像算法:数字图像处理程序大全  SkySeraph Apr 22nd 2011 HQU Email:zgzhaobo@gmail.com QQ:452728574 Latest Modified Date:Apr 22nd 2011 HQU 说明:几乎包括所有常用的图像处理算法,发于博客,...
  • 可以用来读、写和图像格式转换,可以处理超过100种图像格式,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。 对图片的操作,即可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程...
  • 【试题汇总】图像处理职位面试题库笔试题汇总(1) 返回脚本百事通 Matlab编程部分 1. Matlab 中读、写及显示一幅图像的命令各是什么? 解:第一、Matlab中读图像函数是imread( )。imread 函数用于读入...
  • C#基础教程-c#实例教程,适合初学者

    万次阅读 多人点赞 2016-08-22 11:13:24
     交叉语言处理:由于任何遵守通用语言规范的语言源程序,都可编译为相同的中间语言代码,不同语言设计的组件,可以互相通用,可以从其它语言定义的类派生出本语言的新类。由于中间语言代码由CLR负责执行,因此异常...
  • 软件测试面试题汇总

    万次阅读 多人点赞 2018-09-27 12:31:09
    2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?   5 3、测试的策略有哪些? ................................................................................
  • 几种图像处理库的研究

    万次阅读 2009-03-09 12:19:00
    几种图像处理库的研究目前比较出名的图像处理库有很多,比如LEADTOOLS,这个是功能非常强大的图像多媒体库,但是这个是收费注册的。开源的图像库也有不少,比如:ImageStone、GIMP、CxImage等,虽然它们的功能没有...
  • 第一次写CSDN论文,给自己的毕设做个总结。对于我这个常年用C语言的渣渣,突然接触需要C++...PART 1 : MFC界面的组件认识在VS2013中新建好mfc项目,给这个项目取个动人的 名字“HuaQ_mfc”,然后在dialog中找到了对...
  • 5.安装wic_x86_chs.exe,windows图像处理组件(下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=32) 6.安装AspNetMVC3Setup.exe 7.安装AspNetMVC4Setup.exe 8.重新注册IIS,C:\WINDOWS\...
  • 机器学习(ML)、深度学习(DL)和图像处理(opencv)专用英语词典 百度翻译 http://fanyi.baidu.com/ A AAN (Active Appearance Model)主动外观模型 Adam(adaptive moment estimation,适应性矩估计),Adam是一...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,213
精华内容 15,685
关键字:

windows图像处理组件