C++计算机视觉库 ICL
本文导语: ICL (Image Component Library) 是一种新型的C + +计算机视觉库,由比勒费尔德大学神经信息学组和CITEC开发。它兼顾了性能和用户友好性。 ICL提供了一个易于使用的类和函数的集合,可以开发复杂的计算机视觉应用。 在不到15行的C + +...
ICL (Image Component Library) 是一种新型的C + +计算机视觉库,由比勒费尔德大学神经信息学组和CITEC开发。它兼顾了性能和用户友好性。 ICL提供了一个易于使用的类和函数的集合,可以开发复杂的计算机视觉应用。
在不到15行的C + +代码(见例子)可以写成一个简单的图像采集和可视化应用。
在其设计和开发过程中,主要有以下几个目标:
一套丰富的支持功能
ICL是一个全面发展的交互式计算机视觉应用功能的软件框架。在其他库相比,ICL提供并精心挑选了非常多的实用的功能和类。这些可以使研究人员可以在ICL下直接开发算法与应用,即通常情况下,有没有必要学习如何使用第三方工具。 ICL的每当使用一个外部库,它提供额外的功能,以提供现代和ICL符合接口无缝包裹。
最优的服务表现
ICL的可以随意链接对英特尔IPP库,以提高它的处理速度显着。大多数功能是英特尔IPP包装内部实施,但我们还提供英特尔IPP所不支持的数据类型或回退的情况下实现的,其中英特尔IPP不可。 ICL的图像可用于浅包装周围现有的数据结构和它们的原始数据可以直接访问。通过这些手段,可以实现图像处理的应用没有任何数据转换或复制的开销。
强大的通用接口
ICL提供了一套非常强大的通用接口,图像过滤,图像采集卡和图像输出。例如可以用来获取图像从最不同的图像源,如图像文件和视频,所有常见的相机类型,但也从网络流,的GenericGrabber级。 ICL的程序参数评估框架相结合,可以很容易地开发应用程序,能够抓住所有支持的图像源的图像。
简单和易于使用的C + +接口
面向对象编程(OOP)在C + +提供高性能,因
接近处理器的编程,以及较高的抽象层次,由于面向对象的固有特征。特别是,继承,数据/功能封装,以及函数和类模板使用ICL的实施。然而,ICL的并不只使用复杂的模板结构,它是绝对必要的,这将特别赞赏中等熟练的C + +程序员。
没有强制性的软件依赖性
所有的外部软件的依赖纯粹是可选的。因此,ICL的形象的结构和它的功能和类的大集可以使用,而无需安装第三方库的大集。通过这些手段,可以开发的ICL的超薄版本的图像处理算法,并链接一个全功能的ICL的事后,即对你的代码,使用一定的相机类型。
强大的GUI集成
创建图形用户界面的基本组成部分是一个交互式计算机视觉应用的发展。 OpenCV的库不同,我们并不只集中在提供图像处理相关的功能和工具。 ICL的支持功能的一个基本组成部分是它的图形用户界面创建工具,允许创建和layouting内只有几行代码,最复杂和交互式的图形用户界面。