-1

我很想知道是否有任何图像处理/计算机视觉框架允许您通过动态创建过滤器/过滤器块链来创建过滤器管道(类似于 MATLAB 中的 simulink 块)。

这个想法主要受到RoboRealm的启发,但我想主要在 C/C++ 中实现它,并能够以图形方式构建图像处理管道。我熟悉这样一个框架Camunits,我将使用它作为构建这个图形过滤器框架的基础,但是如果您知道任何内容,请告诉我。CamUnits 与 LCM(轻量级通信和编组)很好地集成在一起,它可以处理我现在想避免的大部分编组和网络需求。此外,CamUnits 还与 LCM 中的日志框架很好地集成,并具有一系列用于图像采集的工具(火线相机、自动增益/曝光校正、快速去拜耳等)。

简而言之,我希望能够构建一个图形界面,让您动态创建图像处理管道(如果需要,线程化),这反过来又有助于图像处理/计算机视觉算法的快速原型设计。我也很想知道是否会对这种类型的框架(模块化,快速/高度可重构)感兴趣。

4

3 回答 3

3

这(几乎)是图像处理应用程序中最古老的想法:“厨房水槽”GUI 应用程序,其中过滤器是框,图像输入到左侧,数据流过框,图像从右侧出来。

我记得最早使用的第一手资料是Khoros(这可能告诉你我多大了),但几乎可以肯定的是,施乐的人在此之前也有类似的方法。最近,许多图像合成应用程序都使用了类似的 UI 方法,最著名的是Shake

根据我的经验,它们对于算法探索非常有用,但我从未见过当问题开始变得复杂时,GUI 不会妨碍完成任务的情况。“视觉计算”对于获得解决方案的粗略轮廓很有吸引力,但有一个原因可以最好地使用方程式来推理和交流更难的问题 - 它是一种更简洁的符号,无需在屏幕上绘制数百个无用的气泡和线条.

在生产实践中,这些应用程序的实用性最终取决于它们的输出脚本功能:当您确实找到了问题的解决方案并且想要将其应用于一大堆图像时,鼠标拖动会很快变得令人厌烦。然后,该应用程序最好有一种方法来输出实现图像转换的代码,这种方式很容易与您的代码库的其余部分交互。

于 2012-07-26T13:16:02.933 回答
-1

Cassandra是一种可视化编程环境,用于对算法进行建模,让您可以简单地开发用于图像处理和信号处理的算法。OpenCV 和 IPP 函数等库的广泛集成使 Cassandra 成为一个高效的开发平台,让您能够比使用传统编程语言更快地获得解决方案。

您可以将 Cassandra 用于一系列应用,包括信号处理和图像和视频处理,例如基于摄像头的驾驶辅助系统等。许多科研机构都使用 Cassandra,这是一种使用 C++ 进行图像处理的可视化编程环境。

于 2015-01-05T09:02:33.717 回答
-3

我们有一款几乎可以发布的产品(www.CoreOptical.com 上的“PrecisionImage.NET”)符合这些要求。它不是 C++,也没有用于将过滤器链拖放到位的图形 UI,但它灵活、强大且易于使用。它是一个“纯 .NET”程序集,并与 WPF 中的 WIC 成像子系统接口。目前,它普遍采用线程化,可以自动利用主机中的所有 CPU 能力,在接下来的一两个月内,我们将为支持 CUDA 的设备添加一个 GPU 处理子系统。这仍然是一个“纯 .NET”解决方案,即使使用 GPU 也没有非托管组件(GPU 代码被 JIT 编入与 GPU 驱动程序直接交互的 PTX 代码),因此您可以使用任何 CLS 的 .NET 语言- 兼容包括 C#/VB/F#。然而,目前我们只有 C# 中的示例。本质上,它是一个类库,允许组装处理链而不会产生离散化错误。我们有几个在线示例展示了这是如何完成的。

于 2012-07-27T20:04:14.237 回答