2012-10-19 22 views
3

图像处理库OpenCV有一个叫做RegionOfInterest的概念,它导致大多数函数只能在该区域上运行。该区域可以设置,移动,未设置等。感兴趣的区域是一个很好的设计模式吗?

我正在研究类似的应用程序数据,我正在考虑使用类似的模式,选择一个区域并在该区域内进行分析和处理。

感兴趣的区域是推荐的设计模式吗?我明白它可以提高OpenCV的性能,这是一个需要高性能的应用程序。我的应用程序可以从高性能中受益,但不如OpenCV中的那么重要。

还有什么替代方法?我正在考虑创建一个Region对象来解决同样的问题,但是,例如,可以从同一组数据创建多个区域。这种方法有什么严重的缺点吗?

回答

0

对我而言,“感兴趣区域”对应于您称之为“区域”对象的单例。因此,您的决定归结为决定您是否需要/可以负担一个或多个“区域”对象。

是线程安全还是重入问题?

1

感兴趣的区域与您正在处理的对象的性质有着真正的联系:图像是连续的2D(或更高维)网格或有规则的样本点(像素)。它只对图像的某些部分(即感兴趣的区域)进行图像处理非常有用:它可以加速进程,甚至在只保留ROI的情况下节省一些内存。 ROI的巨大优势在于,它们必须具有简单的几何形状,例如矩形,因此非常容易处理。

如果您的数据没有图像这样的结构,您可以始终使用适当的设计模式,如Composite。使用组合模式,您可以设置(子)数据组,并对应用于组中每个单个元素的组执行操作。

1

从您的描述来看,它听起来像一个观察者的变种。这些功能仅“观察”系统状态的特定部分,并且仅就此而言被激活。

所以我的答案是肯定的:)

0

识别一个投资回报率是关键,执行实际的算法,我们有兴趣。

我从事条形码识别工作,并且考虑到实际解决解码阶段的开放源代码库的可用性,我遇到难以执行任务而没有 ROI。

算法的设计,如果数据在某些特定那种很好地工作,而我要说的是ROI识别几乎是必不可少的实用的图像处理。