图像处理库_图像处理c++库 - CSDN
精华内容
参与话题
  • 图形图像处理库大全

    千次阅读 2014-10-29 15:15:41
    Google三维API O3D  O3D 是一个开源的 Web API 用来在浏览器上创建界面丰富的交互式的 3D 应用程序。这是一种基于网页的可控3D标准。此格式期望真正的基于浏览器,独立于操作系统之外,并且支持主流的3D显卡,...
    转自http://blog.csdn.net/ajieyxw/article/details/38640295

    Google三维API O3D


      O3D 是一个开源的 Web API 用来在浏览器上创建界面丰富的交互式的 3D 应用程序。这是一种基于网页的可控3D标准。此格式期望真正的基于浏览器,独立于操作系统之外,并且支持主流的3D显卡,这样就可以在网页中实现效果逼真的3D动画。在线演示:http://o3... 更多O3D信息

      最新新闻: 谷歌联手Mozilla基金开发3D互联网图像技术发布于 2个月前

    绘图引擎 RRDtool

      简单的说,RRDtool (Round Robin Database Tool)就是一个强大的绘图的引擎,很多工具例如MRTG都可以调用rrdtool绘图。 更多RRDtool信息

      最新新闻: RRDtool 1.4.3 发布发布于 2个月前

    计算机视觉库 OpenCV

      OpenCV是Intel开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。 OpenCV 拥有包括 300 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库――尽管也可以使用某些外部库。 Op... 更多OpenCV信息

      最新新闻: OpenCV从SourceForge迁移到ros.org 发布于 6个月前

    图像处理类库 CImg

      The CImg Library是一个强大的图像处理类库。在代码中使用此类可以导入/导出,处理,和显示图片,它是一个强大的处理图像的C++工具箱。 更多CImg信息

    2D图形库 AGG

      AGG,全名:Anti- GrainGeometry,是一个开源的、高效的2D图形库。AGG的功能与GDI+的功能非常类似,但提供了比GDI+更灵活的编程接口,其产生的图形的质量也非常高,而且它是跨平台的,其宣传可以在非常多的操作系统上运行。 主要的功能有: 1、支持ALPHA、G... 更多AGG信息

    Google 图形处理引擎 skia

      skia是个 2D向量图形处理函数库,包含字型、座标转换,以及点阵图都有高效能且简洁的表现。不仅用于Google Chrome浏览器,新兴的Android开放手机平台也采用skia作为绘图处理,搭配OpenGL/ES与特定的硬体特征,强化显示的效果自2005 年Skia被Google收购后,一... 更多skia信息

    三维图形渲染引擎 OGRE

      OGRE是一个三维 (3D)图形渲染引擎。它是面向对象的,并且高效,抽象化了不同的API和平台,这样可以以场景为对象来使用物体,支持多种场景.它已经成功地被应用于诸多三维仿真领域,包括网络游戏和三维仿真项目。 功能和特点◆ 简单易用的面向对象接口◆ 最小化... 更多OGRE信息

    开源图形库 FreeImage

      一个自由、开源的图形库--FreeImage (支持位图构件�例 如调色板和数据位�的便易访问;将位图从一种位深度转换到另一种位深度;当有多幅位图页�例如TIFF�时访问位图的不同页;基本的位图处理,如旋转、翻 转(flipping)和重采样,或点操作,如亮度和对... 更多FreeImage信息

    3D引擎 Irrlicht Engine

      Irrlicht Engine 是一个用C++开发的高性能实时的3D引擎,同时提供了.NET版本,这是一个跨平台的使用了D3D、OpenGL的3D渲染引擎。 更多Irrlicht Engine信息

      最新新闻: Irrlicht Engine 1.7 发布,C++的3D引擎发布于 4个月前

    移动设备上的OpenGL OpenGL ES

       OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。 OpenGL ES 是从 Op... 更多OpenGL ES信息

    高质量图形图表库 MathGL

      MathGL is ... 是一个在Windows和Linux下生成高质量图形的类库;用来根据大量的数组生成各种图表可轻松嵌入到其他程序中可生成各种各样的图表 更多MathGL信息

      最新新闻: 高质量图形图表库 MathGL 1.10 发布发布于 5个月前

    开源图形库 CxImage

      CxImage是一个可以用于MFC 的C++图像处理类库类,它可以打开,保存,显示,转换各种常见格式的图像文件,比如BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K 等格式的文件。可以实现BMP<->JPG,PNG <>TIFF格式等等的互相... 更多CxImage信息

    图像识别类库 Tesseract OCR

      原本由惠普开发的图像识别类库tesseract-ocr已经更新到2.04, 就是最近Google支持的那个OCR。原先是惠普写的,现在Open source了。 1.03版本以前是在sourceforge上发布,现在的更新版本到google-code上了,据说曾经的图像识别能力排名第三。现在大家都很关... 更多Tesseract OCR信息

    开源图形API OpenGL

      OpenGL 是行业领域中最为广泛接纳的 2D/3D 图形 API, 其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含CAD、内容创作、能源、娱乐、游戏开发、制造业、... 更多OpenGL信息

      最新新闻: OpenGL 4.0 发布发布于 3个月前

    图形处理器开发环境 CUDA

      CUDA 工具包是一种针对支持CUDA功能的GPU(图形处理器)的C语言开发环境。CUDA开发环境包括:・ nvcc C语言编译器・ 适用于GPU(图形处理器)的CUDA FFT和BLAS库・ 分析器・ 适用于GPU(图形处理器)的gdb调试器(在... 更多CUDA信息

    C++视觉库 VXL

      VXL (the Vision-something-Libraries)是计算机视觉研究和实现库集。它从TargetJr和IUE演变而来,目的是成为一个轻量级、速度快和持久的系统。它可移植到很多平台。包含的库◆ 数字化容器和法则:vnl◆ 图像管理:vil◆ 几何图形:vgl◆ I/O控制:vsl◆ ... 更多VXL信息

    三维图形渲染库 OGRE 3D

      OGRE 3D 是一个被广泛使用的开源三维图形渲染库,成功地被应用于诸多三维仿真领域,其中包括网络游戏和一些商业的三维仿真项目 更多OGRE 3D信息

      最新新闻: 游戏引擎OGRE 3D 1.7.0 RC 宽松的MIT授权发布于 5个月前 C++ PNG类库 PNGwriter

      PNGwriter 是一个用来创建PNG格式图像的C++类库。示例: #include <pngwriter.h>int main(){ int i; int y; pngwriter png(300,300,0,"test.png"); for(i = 1; i < 300;i++) { y = 150+100*sin((double)i*9/300.0); ... 更多PNGwriter信息 OpenGL应用框架 GLFW

      GLFW是一个OpenGL的应用框架,支持Linux和Windows. 更多的效果截图:http://glfw.sourceforge.net/screenshots.html 更多GLFW信息

    人脸识别 faceservice.cgi

      faceservice.cgi 是一个用来进行人脸识别的 CGI 程序, 你可以通过上传图像,然后该程序即告诉你人脸的大概坐标位置。faceservice是采用 OpenCV 库进行开发的。 更多faceservice.cgi信息

    libpng

      libpng 软件包包含 libpng 库.这些库被其他程式用于读写png文件. 安装 libpng 用以下命令安装 libpng: make prefix=/usr \ ZLIBINC=/usr/include ZLIBLIB=/usr/lib -f scripts/makefile.linux && make prefix=/usr install -f scripts/makefile.... 更多libpng信息

    JPEG 图像压缩库 LibJPEG

      LibJPEG 是一个广泛使用的 JPEG 图像压缩库,采用 C 语言开发。 更多LibJPEG信息

    OpenGL实现包 Mesa

      Mesa是一个类OpenGL(http://www.opengl.org)的开源实现. 更多Mesa信息

      最新新闻: Mesa 7.5 正式发布,引入Gallium3D构架发布于 10个月前

    C++图形库 GOBLIN Graph Library

      GOBLIN图形库包括一个C + +类库的一个大型系列图优化的方法、GOSH以及TCL /Tk脚本语言的扩展。GOBLIN包括一个图形编辑器,并支持标准图形布局方法。 更多GOBLIN Graph Library信息

    图像处理库 GD

      GD 是一个开源的图像处理库,支持 PNG/JPEG/GIF以及其他格式的图像。GD一般被用来创建图表、图形、缩略图以及其他图像相关的处理操作。 更多GD信息

    3D图形开发库 OpenSceneGraph

       OpenSceneGraph是一款高性能的3D图形开发库。广泛应用在可视化仿真、游戏、虚拟现实、高端技术研发以及建模等领域。使用标准的C++和 OpenGL编写而成,可以运行在Windows系列、OSX、GNU/Linux、IRIX、Solaris、HP-Ux、AIX以及FreeBSD操 作系统。 ... 更多OpenSceneGraph信息

    OpenGL图形接口 glew

      GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口。使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些OpenGL的高级特性,就必须下载最新的扩展,另外,不同的显卡公司,也会发布一些只有自家显卡才支... 更多glew信息

    数码相片在线编辑

      数码相片在线编辑用ASP+ImageMagik制作的在线照片编辑- 放大,缩小,裁切工具:方便制作论坛头像,在没有图片处理工具的电脑上使用,简单,方便,支持gif动画裁剪! 目前前端采用JS进行图形处理,后台用ImageMagik进行图片压缩等处理。... 更多数码相片在线编辑信息

    C语言的JPEG操作库 OpenJPEG

       OpenJPEG是一个C语言编写的开放源码的JPEG 2000编解码器。它已经制定了以推广使用的JPEG 2000 ,最新的压缩标准由因Joint Photographic Experts Group ( JPEG格式) 。除了基本的编解码器,其他各种功能正在开发,其中包括JP2和MJ2 (运动JPEG 2000 )的文... 更多OpenJPEG信息

    2D/3D 图形开发库 Visualization Library

      Visualization Library 是一个 C++ 的中间件用来开发基于 OpenGL 2.1 的 2D/3D 应用程序,支持高级特性包括 OpenGL Shading 语言、帧缓冲对象、多目标渲染、Vertex 以及点阵缓冲对象、KdTree/AABB frustum culling 等等。提供一个基于 Unicode 的多语言文本... 更多Visualization Library信息

    免费开源图形API Mesa3D

      Mesa3D是一个几乎和Opengl相同的免费开源图形API,它在功能上一点也不输给Opengl。作为免费开源软件,免去了诸多侵权问题的烦恼。不过最好还是不要用它来开发商业软件,这样有违开源精神。 更多Mesa3D信息

    BMP图像处理库 bmplib

      bmplib 是一个用来创建 24位 BMP 位图的 C 语言库,不依赖于其他程序库。 更多bmplib信息

    向量图形库 Picasso

      Picasso 是一个高质量的向量图形渲染库,支持 path , matrix , gradient , pattern , image 和 truetype font 等功能. alpha blending svg rendering gis maps instrument ... 更多Picasso信息

    摄像头图像捕捉 QuickCapture

      QuickCapture是一个简单和易于扩展的应用程序以最小的依赖性,旨在收集和处理图像取自网络摄像头。它提供了一个强大的功能集,并包含一个插件系统部分灵感来自Pidgin。 更多QuickCapture信息

    2D 图形引擎 Quad-Ren

      Quad-Ren 是一个独立的决议2D图形引擎,旨在缓解点阵图的发展为基础的应用程序,主要是游戏。应用四任将功能相同的,不论屏幕分辨率或长宽比,窗口或全屏。 更多Quad-Ren信息

    Symbian图像处理扩展库 NokiaCV

       NokiaCV 是在 Nokia的Symbian操作系统,扩展图像处理能力和规范内部的操作系统图像操作。NokiaCV 提供的标准图像操作方法,以及一套线性代数行动需要 在许多先进的图像应用程序。这是一个未来的基石先进图像库。一些扩展很可能会造成我们的研究小组和提供... 更多NokiaCV信息

    3D渲染引擎 Genesis3D

      Genesis3D 是实时3D渲染环境,所有的实时3D的需要。有大量的在线社区,免费网上论坛,许多链接Genesis3D开发商...你会发现所有的支持和工具,您需要 着手开发世界一流的,实时三维应用程序。如果您是新的发展与Genesis3D ,当前版本的软件开发工具包是1.1... 更多Genesis3D信息

    大图像处理工具 VIPS

      VIPS 是一个图像处理软件,特别适合非常大的图像处理。它由一个强大的,可重复利用的程序库和一个图形用户界面组成。 更多VIPS信息

    3D引擎 Apocalyx

      Apocalyx是一个基于OpenGL的3D引擎. 更多Apocalyx信息

    OCR识别 OCRopus

      Ocropus的(TM)是一个先进的文件分析和OCR系统,采用可插入的布局分析,可插入的字符识别,自然语言统计建模和多语言支持功能。 更多OCRopus信息

    C 图像操作库 Jhead

      Jhead 是一个用C语言开发的用来操作图像文件的EXIF信息的库。读取 EXIF 信息时输出如下: Sample jhead output: File name : 0805-153933.jpgFile size : 463023 bytesFile date : 2001:08:12 21:02:04Camera make : CanonCamera model : Can... 更多Jhead信息

      最新新闻: Jhead 2.90 发布,C语言的图形EXIF解析库发布于 4个月前

    图形处理包 DevIL

      DevIL (即以前的OpenIL)是一个跨平台的图形处理包,支持BMP,JPG,GIF等多种图形文件格式. 更多DevIL信息

    OpenGL应用工具包 GLUT

      GLUT代表 OpenGL应用工具包,英文全称为OpenGL Utility Toolkit,是一个和窗口系统无关的软件包,它由Mark Kilgard在SGI时写的。作为AUX库的功能更强大的替代品,用于隐藏不同窗口系统API的复杂性。是一个学习OpenGL编程的一个良好开端。感谢GLUT,使我们可... 更多GLUT信息

    OpenVRML

      OpenVRML is a VRML and X3D browser plug-in and C++ toolkit for incorporating VRML support into applications. OpenVRML provides VRML97 and Classic VRML X3D parsers, a runtime, and an OpenGL renderer as C++ libraries. The renderer is fully... 更多OpenVRML信息

    Jet3D

      Jet3D 是一个C++的高性能实时的三维图形渲染引擎。 更多Jet3D信息

    场景图绘制类库 Papyrus

      Papyrus 是一个 C++ 的二维场景图绘制类库。Papyrus 跟 Gnome:Canvas 库的功能类似。下面是一些绘制的场景图例子: 200x200 (3kb) 200x200 (5... 更多Papyrus信息

    C++图像处理库 ExactImage

       ExactImage 是一个快速的 C++ 图像处理库,与 ImageMagick 不同的是,ExactImage 允许对多个色彩空间和色深进行操作;更低的内存占用和CPU占用;某些优化算法速度是 ImageMagick 的 20 倍,显示大图片的速度是 ImageMagick 的 10 倍。... 更多ExactImage信息

      最新新闻: ExactImage 0.8.0 发布发布于 2个月前

    OpenGL的C++封装 D'Enfent Engine

      D&apos;Enfent Engine 是一个C++的类库,用来提供对 OpenGL 函数的高级封装,非常适合用于游戏开发,提供一个完整的API手册和一个入门指南。 更多D'Enfent Engine信息

    NVIDIA Scene Graph

      NVIDIA Scene Graph (NVSG) 软件开发套件是一个面向对象的编程库,主要用于创建场景图形的应用程序。大一种事后补充。而NVSG 是围绕着色器完全重新进行设计。NVSG 利用 CgFX � 一个元文件格式,这个格式可以让着色器在应用程序之间轻松共享。Viewe... 更多NVIDIA Scene Graph信息

      最新新闻: NVIDIA公司预发布其195.xx Linux驱动程序发布于 2个月前

    C语言的EXIF库 libexif

      libexif 是一个用来读取数码相机照片中包含的 EXIF 信息的 C 语言库,支持多种平台。 更多libexif信息

    Exiv2

      Exiv2 是一个用来提取图片中的EXIF、LPTC 和 XMP 元数据信息的C++类库。同时还提供了命令行工具。示例代码: Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(argv[1]); assert(image.get() != 0); image->readMetadata(); Exi... 更多Exiv2信息

    三维应用开发环境 Croquet

      Croquet 是一个功能强大的开放源码软件开发环境,用于创建和大型分布式部署多用户虚拟三维应用程序和metaverses是( 1 )持久性( 2 )深入的合作,( 3 )相互联系和( 4 )互操作。Croquet 的架构支持同步通信,协作,资源共享和计算之间的大量用户在多... 更多Croquet信息

    Symbian绘图库 Cairo for Symbian OS

      Cairo for Symbian OS 是绘图库 Cairo 在 Symbian 操作系统上的移植版本。 示例代码: // CMyAppView derives from CCoeControl//void CMyAppView::ConstrucL(const TRect& aRect) { CreateWindowL(); SetRect(aRect); ActivateL(); iSurface = cair... 更多Cairo for Symbian OS信息

    数据可视化库 Tulip

      Tulip 是一种专为巨大的图形可视化的软件系统。它可在个人电脑( PIII 600 256MB内存)管理多达50万的图形 。Tulip 架构提供下列功能:三维可视化,三维的修改,插件支持,支持集群和导航,自动图形绘制,自动聚类图,自动选择的内容,并自动着色元素等。 ... 更多Tulip信息

    计算机图形渲染库 Voreen

      Voreen是计算机图形可视化交互式卷库。它提供了数容积数据可视化技术和利用了可编程图形硬件(着色用)加速渲染。附带的应用程序允许创建和测试新的渲染技术。 Voreen实现与C + +和使用OpenGL / GLSL的渲染。 更多Voreen信息

      最新新闻: 图形渲染库 Voreen 2.0 发布发布于 5个月前

    C++向量图生成库 CreEPS

      CreEPS 是一个C++类,提供一个容易从内部生成的代码向量图的界面。该图存储为压缩的PostScript(EPS)的文件。它具有所有的基本图形元素,用户可配置的填充类型和printf风格的文本输出。包含大量例子文件。 更多CreEPS信息

    医学影像转换工具 XMedCon

      XMedCon 是一个医学专用影像档转换工具与程式库。以C语言撰写。 更多XMedCon信息

    Apache图像处理模块 mod_gfx

       mod_gfx 是一个对图像进行即时处理的 Apache 模块,安装方法: Ensure APXS, libgd, and gcc are installed Compile module (run make) Copy module/mod_gfx.so to your apache modules directory Configure Apache to use module Restart Apache ... 更多mod_gfx信息

    LibRaw

      LibRaw 是一个用来处理 RAW (CRW/CR2, NEF, RAF, DNG, and others) 格式图片的 C++ 库,支持各种操作系统。 更多LibRaw信息

      最新新闻: LibRaw 0.9.0 发布发布于 1个月前

    libQGLViewer

      libQGLViewer 是一个用以简化了Qt开发OpenGL三维浏览器的C++库。它提供了一些典型的3D查看器的功能,如能够移动相机使用鼠标,这是缺乏大多数其他的API 。其它特点包括鼠标操纵框架,插值关键帧,对象选择,立体显示,截图保存,等等。它可以使用OpenGL的初... 更多libQGLViewer信息

    OpenGL工具包 Freeglut

      Freeglut是一个GLUT (OpenGL Utility Toolkit) 的开源实现,使用非常广泛。OpenGL Redbook使用Freeglut代替GLUT编写代码。 更多Freeglut信息

    Cafu 3D引擎

      这个引擎支持一系列3D渲染,材质制作,多玩家在线,跨平台和可被多编译器编译。但它采用了双协议,商业版是闭源的,源代码在GPLv3许可证下发布。 更多Cafu 3D引擎信息

    WaYee3D Toolkit

      WaYee3D ToolKit 一个基C++和Ogre的插件式3D应用程序框架,开源。框架主要就是用来做编辑器这一类的应用程序。C++ 插件式软件架构。 MFC Ribbon界面command 模式Undo/Redo支持。Unicode支持。 ... 更多WaYee3D Toolkit信息

    渲染器的高级着色语言 Open Shading Language

      Open Shading Language (OSL) is a small but rich language for programmable shading in advanced renderers and other applications. OSL is similar to C, as well as other shading languages, however, it is specifically designed for advanced re... 更多Open Shading Language信息

    begtostudy-imagelib

      begtostudy-imagelib 是一个开源的VC图像库 更多begtostudy-imagelib信息

    Magick++

      Magick++ 是 ImageMagick 图像处理库的面向对象 C++ API 调用包。 更多Magick++信息

    Equalizer

      Equalizer is a programming interface and resource management system for scalable OpenGL applications. 更多Equalizer信息

    Python图像处理 Mahotas

      Mahotas 是一个 Python 的图像处理库,包含大量的图像处理算法,使用 C++ 实现的算法,处理性能相当好。 更多Mahotas信息 光栅化软件渲染器 SoftArt

      SoftArt是一款光栅化的软件渲染器,设计目标是达到Direct3D 10/11的核心功能的实现。我们的设计目的主要包括以下几点: 一个高度可移植的光栅化图形管线的软件实现图形硬件工作原理的展现和教学为下一代Many Core或Larrabee类的多x86处理器架构的计算设... 更多SoftArt信息

    图形布局引擎 GLE

      GLE (Graphics Layout Engine) 是一个图形脚本语言,主要为创建图表、数据和幻灯片而用,支持多种图表类型 (function plots, histograms, bar graphs, scatter plots, contour lines, color maps, surface plots, ...) ,使用简单,仅需通过一些图形化命令... 更多GLE信息

    OpenCSG

      OpenCSG is a library that does image-based CSG(Constructive Solid Geometry) rendering using OpenGL. OpenCSG is written in C++ and supports most modern graphics hardware using Microsoft Windows or the Linux operating system.... 更多OpenCSG信息

    图像处理和分析 Leptonica

      Leptonica 广泛用于图像处理和图像分析应用。 更多Leptonica信息

    QTeXEngine

      QTeXEngine 是一个 QtiPlot 的扩展插件,用来将二维的图形转成 TeX 格式文档,所有通过 QtiPlot 的 QPainter 绘制的图形都可以通过它来导出,下面是一个例子: void MyClass::exportTeX(const QString& fileName){QTeXPaintDevice tex(fileName, QSi... 更多QTeXEngine信息

    lib3ds

      lib3d 是一个用于读取3ds格式三维模型的标准类库 更多lib3ds信息
    展开全文
  • 几种图像处理库的研究

    万次阅读 2009-03-09 12:50:00
    几种图像处理库的研究目前比较出名的图像处理库有很多,比如LEADTOOLS,这个是功能非常强大的图像多媒体库,但是这个是收费注册的。开源的图像库也有不少,比如:ImageStone、GIMP、CxImage等,虽然它们的功能没有...

     

    几种图像处理库的研究

    目前比较出名的图像处理库有很多,比如LEADTOOLS,这个是功能非常强大的图像多媒体库,但是这个是收费注册的。开源的图像库也有不少,比如:ImageStoneGIMPCxImage等,虽然它们的功能没有LEADTOOLS强大,但是一般的图像处理是可以应付的。

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

    LEADTOOLS

    LEAD Technologies 是一个拥有九年多开发数字图形技术历史的公司,他专为程序开发者提供软件开发工具包。他已经为微软等公司提供了很多图形图象技术。这个软件包是该公司开发的开发工具的集合,包括占线帮助,Lead APIC++ 类库、ActiveX 控件、VCLs 和一些实例原代码等。这个软件包是开发工具的集合包括占线帮助,Lead APIC++ 类库、ActiveX 控件、VCLs 和一些实例原代码等。

    (1) 对显示设备的全面支持:在显示时,你的程序中无需考虑是哪种显示模式,如16色还是真彩色。LeadTools为你做了所有的事。当然你也可以通过设置参数获得对显示设备更多的控制。你还可以实现自己的调色板。

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

    (3) 图象处理:如二值化、平滑、加噪声、增加对比度、色调、饱和度、亮度、Gamma校正、中值滤波、半影调、抖动、橡皮筋、滚动、填充、反色、镜象、马赛克、浮雕、打印、扫描、拷贝、粘贴、裁剪、缩放、截屏、调色板、直方图、有关数据库的操作、还有制作幻灯的功能,如淡入、淡出、卷帘等等、真的很爽。表10.2Version5.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位灰度级,以及1216位的图像处理,窗位(Window Leveling)显示,还包含LUT处理。

    特征综述

    支持8101216灰度级和24位图像,包括JPEG8101216位无损灰度级,812位有损灰度级,24位无损和有损色彩),JPEG2000(包括有损和无损8-16位灰度级图像和24位色彩)行程,无压缩,光学表示(单色1、单色2、调色板、RGBARGBCMYKYBR 422YBR全、YBR_RCTYBR_ICT),以及单框架和多框架图像。

    完全支持DICOM 32003文件规范),包括所有标准的IOD类和形态(CRCTMRNMUSRFSCVL等),还包含VR’s

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

    通过调用一个函数,可以将一种转移语法变为另一种转移语法。自动识别DICOM文件(Little-Endian/Big-Endian,隐藏/显示VR等等)。并具有高级和低级函数,可用于数据集的简单导航和操作(插入、删除、修改)。

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

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

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

    DICOM4个不同的编程接口-APICOMVCLC++类库。支持DICOM2003标准中所有的VR’s,包括其它浮动字符串

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

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

    易于对项进行顺序定位(FFFEE000)。

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

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

    LUTVOI LUTPalette色彩图像的高级支持意味着开发人员可以毫不费力地在一个应用程序中实现DICOM表示状态。LEADTOOLS还可以将Modality LUT应用于图像数据,以进一步简化图像处理和统计计算。

    DICOM注释对象支持。可以从数据集内存储/获取DICOM注释,并且将它们转换为LEAD注释对象,反之亦然。为了附加的统计计算和存储为DICOM表示状态,注释也可以被转换为Region of interest
    Cookie
    剪切工具:可以从一个放射性图像扫描文件中提取出单独的薄片(对于识别一个扫描MRICT系列内的每个薄片很有帮助)。

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

     

    LEADTOOLS Multimedia

    您可以使用LEADTOOLS Multimedia SDK创建具有专业水准的高品质的多媒体应用程序。该控件中加入了诸如捕获、播放和编辑等多媒体功能以及对最新的DirectShow过滤和许多多媒体文件格式的支持,即可以加载和转换多种文件格式(包括WAVAVIASFWMAWMVMPEG-1OGG等等)。可以编程控制多媒体处理、压缩,视频和音频输入;还增加了摄像控制(亮度、对比度、缩放等等);以及更灵活的捕获选项等等更多功能。

    特征综述 About Feature

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

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

    多媒体转换
    利用控件包提供的功能,您的用户可以将多媒体文件在AVIWindows Media contentWAVEMPEG1 AudioMP3)格式之间互相转换,还可以选择DV设备输出等等功能。

    多媒体文件格式
    支持大部分流行的多媒体格式(AVIASFWMVWAVOGGMPEG-2MPG)。点击此处可以得到一个所支持格式的列表。

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

    多媒体处理
    具有处理AVIWindows Media contentWAVEMPEG1AudioMP3)格式或DirectShow过滤器捕获到的数据的能力。在电影回放、转换或被捕获时可以使用LEAD Video callback DirectShow过滤器中的200种像处理功能来处理电影。

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

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

     

    LEADTOOLS Raster Imaging SDK

    LEADTOOLS Raster Imaging SDK是为开发者提供的用于创建功能强大的图像应用程序工具;采用LEADTOOLS的色彩转换、显示 、压缩(JPEGTIFFCCITT G4 以及LEADCMP属性)、图象处理、TWAIN扫描、特效(超过2000种)、图像格式支持(超过150种图像文件格式)、打印、Internet/intranet 图像、数据库图像、图像公共对话框和屏幕捕获等特性,使用它,由此为你节省大量的时间与费用。

    特征综述 About Feature

    文件格式支持
    采用工业标准和专有压缩技术,可同时支持150多种图像文件格式以及sub-格式的加载、保存和转换。另外,采用LEADTOOLS能添加更多的格式支持,例如采用LEADTOOLS PDF插件,即能实现对PDF文件的加载、保存和转换支持。

    压缩支持
    支持多种工业标准的压缩技术,包括JPEGCCITTLZW (使用于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中的大多数图像处理功能支持不同着重区域,允许图像的某一部份被处理。通过添加更多用于数字绘图的功能,LEADLEADTOOLS Raster Imaging Pro中提供了包含大量用于数字绘图功能,包括笔刷、形状、纹理的创建与使用以及更多。

    色彩转换
    为确保你能把图像从一种格式转换到另一种格式,或是在任何其它显示设备上显示图象,LEADTOOLS 包含了强大的色彩转换功能。该色彩转换功能包括:支持8 种以上色彩平滑过渡算法、多种调色板选项以及把图像数据从任何支持的每个像素所占用的位转换到其他支持的每个像素所占用的位功能。支持的数值有1-8位色或灰度、16位色、24 位色和32 位色。如果你需要1216位灰度或4864位色支持。

    图像公共对话框
    LEADTOOLS
    图像公共对话框通过扩展Windows公共对话框以提供具体的图像处理功能,节省了大量的繁琐编程时间,同时能给最终用户提供一个一致的外观和感觉。这个公共对话框针对图像处理、变换及特效提供专业的图像公共对话框功能。

    LEADTOOLS Vector Imaging Pro

    LEADTOOLS Vector Imaging Pro控件包含了创建功能强大的,支持矢量和光栅图像格式的2-D3-D浏览器、编辑器、转换器的一切所需要求。通过创建这样的应用程序,您不需要安装或注册一些更昂贵的用于创建矢量文件的原始程序,您只需添加您所需要的功能。如果您在为矢量成像寻找具有最丰富特色的软件开发工具包时,LEADTOOLS Vector Imaging Pro也许是您最好的选择。

     

    特征综述 About Feature

    支持矢量图像格式
    矢量图像可以被加载、保存、转换和输出为光栅图像格式,包括CGMDGNDRWDWFDXFEMFWMFPLTGerberPCLPCTSVGVWPGCMXSHP

    支持原始对象
    支持原始对象,包括圆弧、位图、笔刷、照相机、圆、复制、椭圆、椭圆弧、字体、组、层、线、笔、饼、弦、Poly Draw、多边形、多边线、Poly Bezier、光栅、长方形、文本、顶点和Clipping对象。

    支持浏览和编辑
    具有低级和高级函数,可以控制矢量图像的浏览,包括缩放(统一的或围绕任何轴线)、移动镜头、旋转(围绕任何轴线)和抗失真。矢量图形可以以任何希望的方式编辑,包括添加、修改、删除和将对象复制到粘贴板或者复制到各个不同的矢量图形中。

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

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

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

    LEADTOOLS 软件开发工具包也包括了常见的光栅成像特色包括图像处理(转换、过滤、绘制、Region of Internet),色彩转换,显示,特效(从2000多种效果中选出的),压缩,图像格式(导入/导出),打印,Internet/Intranet成像,数据库成像,成像对话框和屏幕捕获。

    LEADTOOLS现在还支持Unicode编码
    为了向大量的开发人员提供矢量成像功能,控件包提供了5个编程接口:低层次的APIC++类库,以及易于使用但功能强大的ActiveXCOMVCL控件。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, ODBCJET)。

     

    LEADTOOLS Barcode Module

    LEADTOOLS Barcode Module产品允许程序员很容易地在应用软件中加入编码,这样就可以读写Linear1D)、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),能够修复被破坏的条形码符号。

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

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

    (读取模块)可以读出条形码,条形码是独立于歪斜失真、方向和取向改变之外的。从目标区域读出条形码,条形码包含在任何支持的图像文件格式中(支持类型超过150种),并可从扫描仪或者数字照相机获取。

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

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

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

    (读取模块)可以读出条形码,条形码是独立于歪斜失真、方向和取向改变之外的。从目标区域读出条形码,条形码包含于任何支持的图像文件格式中(支持类型超过150种),并可从扫描仪或者数字照相机获取。

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

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

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

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

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

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

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

     

    ADTOOLS Document Imaging SDK

    LEADTOOLS Document Imaging 是一套可以扫描多种语言文档的COMVCL控件。它可以执行光学字符识别,并且将扫描出的文本以四十多种不同的格式输出,包括MS WordMS ExcelDbaseWordPerfect等等。当它用于格式识别和处理应用时,可以加快光符识别处理速度。

    注释
    本产品具有强大的注释功能,可以添加文本、高亮、附注、音频、椭圆、圆、方形、按钮、线条、箭头、长方形、多边形、修订(中断信息)、热点、手写字、指针、图像、图章、标尺和超级链接,以上所有对于文档、色彩和灰度图像都具有多层安全特性。文档成像(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++图像处理库,它可以在多个平台之间移植。  
     
    功能包括:读写图像文件(JPGGIFPNGTIFFTGA...),显示,柱状图分析,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) ;
       return false ;
    }
     
    // 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 ;
    int    n = 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 ;
    int    n = 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 : return new FCImageHandle_Bmp ;
             case IMG_TGA : return new FCImageHandle_Tga ;
             case IMG_JPG : return new FCImageHandle_Gdiplus ;
             case IMG_GIF : return new FCImageHandle_Gdiplus ;
             case IMG_TIF : return new FCImageHandle_Gdiplus ;
             case IMG_PNG : return new FCImageHandle_Gdiplus ;
             case IMG_PCX : return new FCImageHandle_FreeImage ;
             case IMG_PSD : return new 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::string   m = prop.QueryPropertyValue (IMAGE_TAG_EXIF_ISOSpeed) ;
    // get camera's equip model
    std::string   n = 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:
       virtual void 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) ;
       }
       int   m_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:
       virtual void 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()) ;
          }
       }
        int   m_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下的PhotoShopGIMPLinux系统推出时就风靡了许多绘图爱好者的喜爱,它的接口相当轻巧,但其功能却不输于专业的绘图软件;它提供了各种的影像处理工具、滤镜,还有许多的组件模块,对于要制作一个又酷又炫的网页按钮或网站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中找到一些开关选项来关闭一些图像库。JPGPNGTIFF中的每一个库,都会向最终程序增加约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  ..

     

    展开全文
  • 原文发布于微信公众号 - 智能算法(AI_Algorithm) OpenCV 简介:OpenCV全称是:Open Source Computer Vision Library。...它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面...

    @转载自https://cloud.tencent.com/developer/article/1430327?
    原文发布于微信公众号 - 智能算法(AI_Algorithm)

    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的优势,来提升速度。

    1. 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

    高性能代码,不需要写汇编代码,获得优化的应用程序,速度快,效率高。

    1. 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等等,架构自己的接口,最终用户看不到开发工具,而且在执行软件的机器上,只需要很少的资源。

    1. MATLAB

    简介:MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

    MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

    MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

    特点:

    1). 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;

    2). 具有完备的图形处理功能,实现计算结果和编程的可视化;

    3). 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;

    4). 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。

    功能十分强大,正版软件价钱昂贵,适用于学术研究,仿真和演示。在软件开发,工程应用方面有一定的局限性。

    1. 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等专业游戏就知道了。

    1. 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的文档去看才行。

    1. AForge.net

    AForge.NET 是一个专门为开发者和研究者基于C#框架设计的,他包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,机器人等领域。

    这个框架由一系列的类库和例子组成。其中包括的特征有:

    AForge.Imaging -一些日常的图像处理和过滤器

    AForge.Vision -计算机视觉应用类库

    AForge.Neuro -神经网络计算库

    AForge.Genetic -进化算法编程库

    AForge.MachineLearning -机器学习类库

    AForge.Robotics -提供一些机器学习的工具类库

    AForge.Video -一系列的视频处理类库(很方便)

    纯.net类库,接口简单,用起来很方便。

    1. CxImage

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

    1. FreeImage

    FreeImage 是一款免费的、开源的、跨平台(Windows 、Linux 和Mac OS X )的,支持20 多种图像类型的(如BMP 、JPEG 、GIF 、PNG 、TIFF 等)图像处理库。其最大优点就是采用插件驱动型架构,具有快速、灵活、简单易用的特点,得到了广泛使用。

    FreeImage 的主要功能有多格式位图的读写;方便的位图信息获取;位深度转换;位图页面访问;基本的几何变换和点处理;通道合并与混合等。FreeImage 暂时不支持矢量图形和高级图像处理,位图绘制需要由用户来完成。

    FreeImage 中的所有函数都以FreeImage_ 开头,如图像文件的读写函数分别为FreeImage_Load 和FreeImage_Save 。FIBITMAP 数据结构保存着位图信息和像素数据,是FreeImage 的核心。

    1. paintlib

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

    1. 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支持,缺点:没有硬件加速,文档少,门槛略高。

    1. 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 图象处理库,免费,起初开源,后来不开源。

    1. visDSK

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

    参考文献:

    http://wenku.baidu.com/view/e5dced5b90c69ec3d5bb75ba.html?from=search

    http://wenku.baidu.com/view/11c961dcc1c708a1284a44bf.html?from=search

    http://wenku.baidu.com/view/bd2fd40df12d2af90242e6d0.html?from=search

    http://wenku.baidu.com/view/7b70e3afdd3383c4bb4cd211.html

    http://wenku.baidu.com/view/7bacd7651ed9ad51f01df29b.html

    http://wenku.baidu.com/view/59257440011ca300a6c3903a.html?from=search

    http://wenku.baidu.com/view/21b46653ad02de80d5d84004.html?from=searc
    链接: link.

    图片: Alt

    带尺寸的图片: Alt

    居中的图片: Alt

    居中并且带尺寸的图片: Alt

    当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

    如何插入一段漂亮的代码片

    博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

    // An highlighted block
    var foo = 'bar';
    

    生成一个适合你的列表

    • 项目
      • 项目
        • 项目
    1. 项目1
    2. 项目2
    3. 项目3
    • 计划任务
    • 完成任务

    创建一个表格

    一个简单的表格是这么创建的:

    项目 Value
    电脑 $1600
    手机 $12
    导管 $1

    设定内容居中、居左、居右

    使用:---------:居中
    使用:----------居左
    使用----------:居右

    第一列 第二列 第三列
    第一列文本居中 第二列文本居右 第三列文本居左

    SmartyPants

    SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

    TYPE ASCII HTML
    Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
    Quotes "Isn't this fun?" “Isn’t this fun?”
    Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

    创建一个自定义列表

    Markdown
    Text-to-HTML conversion tool
    Authors
    John
    Luke

    如何创建一个注脚

    一个具有注脚的文本。1

    注释也是必不可少的

    Markdown将文本转换为 HTML

    KaTeX数学公式

    您可以使用渲染LaTeX数学表达式 KaTeX:

    Gamma公式展示 Γ(n)=(n1)!nN\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N 是通过欧拉积分

    Γ(z)=0tz1etdt&ThinSpace;. \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.

    你可以找到更多关于的信息 LaTeX 数学表达式here.

    新的甘特图功能,丰富你的文章

    Mon 06Mon 13Mon 20已完成 进行中 计划一 计划二 现有任务Adding GANTT diagram functionality to mermaid
    • 关于 甘特图 语法,参考 这儿,

    UML 图表

    可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::

    张三李四王五你好!李四, 最近怎么样?你最近怎么样,王五?我很好,谢谢!我很好,谢谢!李四想了很长时间,文字太长了不适合放在一行.打量着王五...很好... 王五, 你怎么样?张三李四王五

    这将产生一个流程图。:

    链接
    长方形
    圆角长方形
    菱形
    • 关于 Mermaid 语法,参考 这儿,

    FLowchart流程图

    我们依旧会支持flowchart的流程图:

    Created with Raphaël 2.2.0开始我的操作确认?结束yesno
    • 关于 Flowchart流程图 语法,参考 这儿.

    导出与导入

    导出

    如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

    导入

    如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
    继续你的创作。


    1. 注脚的解释 ↩︎

    展开全文
  • 40个图像处理开源

    千次阅读 2019-01-07 14:15:13
    40个图像处理开源:Face Recognition - 拉姆达实验室斯蒂芬弄的。示例代码和图形演示点击http://api.lambdal.com/docs,我们的API提供了面部识别,面部检测,眼睛定位,鼻子定位,嘴巴定位,和性别分类。如果您有...

     

    40个图像处理开源库:
    Face Recognition - 拉姆达实验室斯蒂芬弄的。示例代码和图形演示点击http://api.lambdal.com/docs,我们的API提供了面部识别,面部检测,眼睛定位,鼻子定位,嘴巴定位,和性别分类。如果您有任何疑问,只需发一封邮件到s@lambdal.com

    Face (Detection) -  计算机视觉面部识别和面部检测。这是一个完美的face.com替代品。目前,我们有一个免费的API进行人脸检测。

    Animetrics Face Recognition -  Animetrics的人脸识别API可用于图片中的人脸检测。面部特征或“地标”的信息被返回作为图象上的坐标。 Animetrics人脸识别也会在三维坐标轴上侦测并返回脸部位置信息。

    Skybiometry Face Detection and Recognition一个易于使用的人脸检测与识别的API。必须在您的SkyBiometry帐户中创建应用程序来使用它。(如果你还没有帐户,请先注册)。

    ImageVision Face Detection -  测试版发布更好的人脸检测服务!ImageVision是一个计算机视觉公司改进技术,确定在任意的(数字)的图像中的人脸的位置和大小。

    Face and scene recognition by Rekognition.com -  Face.com的替代品!快速,强大和可扩展的rekognition引擎可以做面部检测,采集,识别,场景理解!它可以自动训练使用Facebook上的图像和标签!

    FaceRect -  FaceRect是一个功能强大且免费的API进行人脸检测,能够发现网页中的或者上传文件中特定图片上的脸部(包括正面和侧面),并能够在一张图片中找到多张人脸,生成的 JSON输出每个脸部的边界框。

    Infatics Face Detection -简单的人脸检测API。

    OpenCV Face Recognizer  -基于OpenCV(开源计算机视觉库: http://opencv.org )是一个开源的BSD授权的库,其中包括数百个计算机视觉算法。

    Libface -  Libface库旨在使人脸识别技术应用于开源社区。这是用C++编写的,托管在  Sourceforge上。这个库使用 OpenCV 2.0  ,目标是成为一个中间件,在人脸识别和检测时,开发人员不必包括任何OpenCV的代码。

    Automatic naming of characters in video 用来是标记电视或电影每个帧中出现的人名。

    CCV -现代计算机视觉库。

    OpenBR-开源的生物特征识别。

    Flandmark -开源实现面部地标探测器。计算机表情识别工具箱(CERT)-一个终端到终端的完全自动化的实时面部表情识别系统。

    Nviso 3D facial imaging technology-从面部表情分析人类的情感。比任何其他方法更直接和自动化。

    FaceReader-  FaceReader是世界上第一个能够自动分析面部表情的工具,使用户能够客观的评估一个人的情绪。

    Affdex -  -  通过摄像头,Affdex从面部表情读取的人们的情绪状态,比如喜好和兴趣,使营销人员更快,更准确地洞察到消费者对品牌和媒体的回应。

    Faceware -  分析仪从视频中抓取一个演员的面部表现,生成用于在Retargeter? 的IMPD文件  。它通过将用户在前端的简单输入和在后端的复杂的计算机视觉算法组合起来实现这一功能。

    20.   Face detection in iOS-在iOS中的人脸检测。

    Face-Recognition-SDK-在您的应用程序添加面部识别。

    Oddcast face detection API-这个人脸跟踪API允许Flash开发人员利用以前只在高端视频游戏中使用的高级技术。

    BioID-世界上第一个基于摄像头的个人识别。

    Betaface API-人脸检测和识别。

    Discrete Area Filters Face Detector—可检测脸部15个点,4个部分,多张脸,或遮住的脸。

    Face detection using Support Vector Machine-该程序是克隆MATLAB中的“人脸检测系统”,可以代替神经网络算法的人脸检测,它是基于 SVG。

    fdlib - 是一个 C / C + +  和  MATLAB的人脸检测库,可检测图像中的正脸。

    Visage-一个人机接口,旨在用脸部取代传统的鼠标。用一个摄像头,将脸部面相的运动变成鼠标指针的运动。如左/右眼睛闪烁产生左/右鼠标点击事件。

    Face tracking Project(卡耐基梅隆大学)–结合可变形模板和颜色匹配来跟踪脸部。

    Real-time face detection program(实时人脸检测程序)-来自德国弗劳恩霍夫研究所IIS的演示。展示了用边缘定位匹配的面部跟踪和检测。

    Evaluation of Face Recognition Algorithms-来自科罗拉多州立大学研究人员开发的人脸识别算法,它提供了一套标准的众所周知的算法,并建立实验协议。

    Computer Vision Source Code-实用的图像处理代码集合。

    Acsys biometrics SDK(ACSYS生物识别SDK )-允许第三方开发者用先进的面部生物识别技术来实现自己应用。

    Cognitec SDK-为世界各地的企业和政府客户开发领先的人脸识别技术和应用。

    KeyLemonFaceSDK-为主要的操作系统提供集成识别技术。

    FaceIT SDK
    FaceSDK- 人脸识别和基于面部的生物识别功能,易整合。

    Verilook SDK-–使用了VeriLook算法,该算法确保快速和可靠的面部识别。

    Beyond Reality Face SDK-在视频流中的一张简单图片上,计算面部位置和3D角度。这些信息可以被用来将三维对象放置到图像上,或通过头部运动控制一个应用程序。

    InSight SDK-通过测量面部肌肉的运动,对人脸进行完全自动化分析,并将这些面部肌肉运动转化为七个普遍的面部表情。

    Visage FaceDetect SDK-以C++软件开发工具包的形式,包含了很多在静止图像中发现脸和五官的有用技术。

    Microsoft Research Face SDK Beta- 集成了微软研究团队最新的面部识别技术。

    How To: Kinect for Windows SDK Face Recognition
    Bayometric FaceIt Face Recognition SDK-结合了传统的面部皮肤生物识别技术。

    FacePhi FaceRecognition SDK –包含了一组.NET和Silverlight库

    360Biometrics Face SDK-非常先进的脸部识别系统,用来将人脸图像嵌入或链接到已有的数据库中。

    Hunter TrueID
    IMRSV-现实世界中的实时感知计算软件,用一个基本的摄像头,就可以测量25英尺外,多达25人的性别,年龄,关注点,目光等信息。它也有一个REST API(应用编程接口)

    Bob-一个信号处理和机器学习工具箱,最初是由IDIAP研究所的生物识别技术团队在瑞士开发的  。

     

    展开全文
  • 也就是说,它实际提供的是各种图像处理算法。若需具体应用,需要组合其算法以实现某个功能。 OpenCV 的全称 Open Source Computer Vision Library,是一个基于BSD许可(开源)发行的跨平台计算机视觉,又名 “开源...
  • 几种常用的图像处理函数

    千次阅读 2018-09-20 13:12:17
    from:... 几种常用的图像处理函数 OpenCV OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉,可以运行在Linux、Windows和Mac OS操...
  • 图像匹配时用的标准图像集。标准的局部描述符测评图像数据库中的六幅图像。包括八组图像,不同的条件包括旋转变换、亮度变换、JPEG压缩等。
  • 最好用图像处理库CxImage入门

    万次阅读 2014-01-26 14:45:04
    CxImage是一款免费的、开源的、功能强大的图形处理库。跨平台,支持windows、linux等;支持BMP、GIF、ICO、TGA、JPEG、PCX、PNG、TIFF、MNG、RAS等多种图像格式;支持格式转换、图像处理、几何变换等;最重要的是...
  • 欢迎大家关注微信公众号:baihuaML,白话机器学习。 码字不易,如转载请私信我!! 在这里,我们一起分享AI的故事。...在使用python进行编程时,涉及到多个不同的图像处理库的选择,今天我们简单聊一聊...
  • Python常用图像处理库整理

    千次阅读 2019-06-17 16:46:37
    而Python环境下的图像处理库种类较多,无论是精度,速度等方面都有不同的差异,这里予以总结。 Python环境下,相关的包有: Numpy:主要作为图像数据的中转 Skimage:速度较慢,主要是caffe测试的时候默认的...
  • Python中最常用的十大图像处理库

    千次阅读 2019-10-25 18:35:24
    本文主要介绍了一些简单易懂最常用的Python图像处理库 当今世界充满了各种数据,而图像是其中高的重要组成部分。然而,若想其有所应用,我们需要对这些图像进行处理。图像处理是分析和操纵数字图像的过程,旨在提高...
  • ubuntu安装图像处理库PIL

    千次阅读 2016-03-03 13:23:13
    PIL(Python Image Library)图像处理库,是python中最常用的图像处理库,目前的版本是1.17。该库提供了基本的图像处理功能,例如改变图像改变大小、格式转换、色场空间转换、图像增强、直方图处理、生成二维码、插值...
  • 图像处理库(FreeImage)

    千次阅读 2014-03-05 11:42:49
    、Linux 和Mac OS X )的,支持20 多种图像类型的(如BMP 、JPEG 、GIF 、PNG 、TIFF 等)图像处理库。其最大优点就是采用插件驱动型架构,具有快速、灵活、简单易用的特点,得到了广泛使用。 FreeImage 的主要...
  • python图像处理 (一).PIL图像处理库学习① 1、自定义创建图片 PIL除了可以从文件中打开一张图片,我们也可以创建一张图片 Image.new(mode,size) ⇒ image Image.new(mode, size,color) ⇒ image 创建具有给定...
  • Python图像处理库PIL中图像格式转换(一)

    万次阅读 多人点赞 2016-03-10 08:16:10
    本文基于这个需求,使用python中的图像处理库PIL来实现不同图像格式的转换。 对于彩色图像,不管其图像格式是PNG,还是BMP,或者JPG,在PIL中,使用Image模块的open()函数打开后,返回的图像对象的模式都是“RGB”...
  • 常见图像处理库(fastVCV、openCV for Android)
  • Python图像处理库Pillow入门

    万次阅读 2015-06-10 21:49:50
    Pillow是Python里的图像处理库(PIL:Python Image Library),提供了了广泛的文件格式支持,强大的图像处理能力,主要包括图像储存、图像显示、格式转换以及基本的图像处理操作等。   1)使用 Image 类  PIL最...
  • Python图像处理库介绍

    千次阅读 2014-03-25 11:37:13
    Python图像处理库: 一:PIL PythonWare公司提供了免费的图像处理工具包 PIL(Python Image Library),该软件包提供了基本的图像处理功能,如:改变图像大小,旋转图像,图像格式转换,色场空间转换,图像增强,...
  • 图像处理库PIL与OpenCV

    千次阅读 2018-12-10 21:22:08
    Python图像处理库PIL的基本概念 from PIL import Image PIL中所涉及的基本概念有如下几个: 通道(bands)、模式(mode)、尺寸(size)、坐标系统(coordinate system)、调色板(palette)、信息(info)和...
  • JAVA 图像处理库 Thumbnails

    千次阅读 2016-06-28 16:53:00
    JAVA 图像处理库 Thumbnails 目录 1、加载图片源 2、缩放 3、质量压缩 4、剪裁 5、根据宽度来缩放 6、根据高度来缩放 7、在调整尺寸时保持比例 8、根据宽度和高度...
1 2 3 4 5 ... 20
收藏数 186,755
精华内容 74,702
关键字:

图像处理库