Design patterns 兴趣区是一个好的设计模式吗?

Design patterns 兴趣区是一个好的设计模式吗?,design-patterns,opencv,language-agnostic,Design Patterns,Opencv,Language Agnostic,图像处理库OpenCV有一个称为RegionFinTerest的概念,它使大多数函数只在该区域上运行。该区域可以设置、移动、取消设置等 我正在处理一个类似的应用程序数据,我正在考虑使用类似的模式,选择一个区域,并在该区域内进行分析和处理 感兴趣的区域是推荐的设计模式吗?我知道它提高了OpenCV的性能,而OpenCV是一个需要高性能的应用程序。我的应用程序将从高性能中受益,但它并不像OpenCV中那样重要 还有什么替代方案?我正在考虑创建一个区域对象来解决相同的问题,但是,例如,可以从同一组数据

图像处理库OpenCV有一个称为RegionFinTerest的概念,它使大多数函数只在该区域上运行。该区域可以设置、移动、取消设置等

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

感兴趣的区域是推荐的设计模式吗?我知道它提高了OpenCV的性能,而OpenCV是一个需要高性能的应用程序。我的应用程序将从高性能中受益,但它并不像OpenCV中那样重要

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

对我来说,“感兴趣的区域”对应于一个你称之为“区域”对象的单例。因此,您的决定归结为您是否想要/需要/能够负担一个或多个“区域”对象


线程安全或可重入性是一个问题吗?

感兴趣的区域可能不是一个设计模式。设计模式(加号或减号)就是其中的一部分。还有很多其他类型的模式。请参见

感兴趣的区域实际上与正在处理的对象的性质有关:图像,是连续的二维(或更高维)晶格或规则采样点(像素)。在图像处理中,仅处理图像的某一部分(即感兴趣区域)非常有用:它可以加快处理速度,甚至可以在仅保留ROI的情况下节省一些内存。ROI的一大优势是,它们被绑定到简单的几何形状上,比如矩形,所以很容易处理


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

从你的描述来看,这听起来像是观察者的变体。功能仅“观察”系统状态的特定部分,并且仅针对该部分激活

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

要确定ROI,关键是执行我们感兴趣的实际算法

我致力于条形码识别,考虑到开源库的可用性实际上解决了解码阶段,我经历了在没有ROI的情况下执行任务的困难

算法被设计用于处理特定类型的if数据,我认为ROI识别在实际的图像处理中几乎是必不可少的