1、Factory和MVC
这两个就不说了。
2、Composite
class IHypothesis
{
public:
/**
* 清空分类器
*/
virtual void clear() = 0 ;
/**
* 从文件中加载分类器
*/
virtual bool Load( char* filename ) = 0;
/**
* 分类器保存到文件中
*/
virtual bool Hibernate( char* filaneme ) = 0;
/**
* 对样本进行决策:输入为样本特征
*/
virtual bool Decide( KxFeature &feature, double &confidence) const = 0;
/**
* 对样本进行决策:输入为图像特征方法句柄
*/
virtual bool Decide( ImageProps &props, double &confidence ) const = 0;
/**
* 对样本进行决策:输入为图像数据
*/
virtual bool Decide( KxImage &ImageBlock, double &confidence ) const = 0;
};
// AdaBoost
class IAdaBoostHypothesis:public IHypothesis
{
} // 单个的 AdaBoost 分类器
// 级联 AdaBoost 分类器
class ICascadeAdaBoostClassifier:public IHypothesis
{
// vector<IAdaBoostHypothesis> _cascadeClassfier;
} // 多个 AdaBoost 分类器
3、Facade
所有需要显示效果的功能都要与IDispTargetResultTool打交道,通过统一的disp接口对图像进行显示。
向下屏蔽细节。感觉和 Proxy 也有点像。
/************************************************************************/
/* 显示图像效果工具类 */
/************************************************************************/
void IDispTargetResultTool::disp( CxImage &image, vector<labArea> labAreas, RGBQUAD color, int
methodIndex )
{
IDispTargetResult *dispTool=NULL;
switch( methodIndex ) {
case DispRectLine:
dispTool = new IDispTargetRectLine();
break;
case DispTargetColor:
dispTool = new IDispTargetColor();
break;
case DispBgColor:
dispTool = new IDispBgColor();
break;
default:
dispTool = new IDispTargetRectLine();
break;
}
dispTool->disp( image,labAreas,color );
delete dispTool;
}
4、Decorator
滑动窗口识别的时候,识别完成后,可能需要进行阈值分割,也可能无需阈值分割。对滑动识别过程与阈值分割过程这两者进行分离。
类似的还有,基于窗口合并的识别中,可能需要进行第二次的区域识别,也可能无需第二次的区域识别,因此也需要将窗口识别与区域识别分离开。
感觉代码并非按照 Decorator ,仅仅只是思想有些类似。
分享到:
相关推荐
学习js设计模式的例子,用到了命令模式、修装模式
笔者近期做的一个项目用到了Activity的启动模式,也算是第一次深刻地领会到了其强大与方便。在此也是将自己所得与大家分享,自己写了一个比较简易的demo,便于让大家理解。 此篇博客意在让对启动模式不了解的开发者...
分别用java和c++演示的中介模式,java的demo用到了swing
关于Spring,也是我们常用的IOC在java下一种实现了,不过相对.net下IOC的实现,Spring相对更强大(反正之前在.Net下,我是习惯了啥都去配置,在Java下才知道有一种Scan模式,本Demo中也用到了,不知道的可以查查...
由于在项目中单例模式户经常用到,所以可以将其写成宏放头文件里,这样就可以两行代码搞定单例
代码详细说明设计模式的主要重点,项目中常用到的设计模式,适合中级程序员研究。
MvpDemo 开发模式MVP 普通的看simple1 为什么要判断view是不是为空 有时候用户把activity finish掉了 view也回收掉了 但是网络是延迟的 网络请求成功或者失败 用到view回掉结果 这段代码是避免了每次用view要判断 ...
下面我们将来认识一下这个模块,并介绍demo里相关底层驱动的实现。 ESP-01模块 ESP-01模块集成esp8266EX WIFI芯片,支持802.11b/g/n协议,支持UART/GPIO等接口,内嵌LwIP协议栈,支持STA/AP/STA+AP工作模式,是一款...
这是一个使用C#简单三层的架构、实现获取本地计算机硬件信息的demo、用到的基础知识点有: 1、三层架构的开发思想、以及层次之间的引用关系 2、ADO.NET对数据库的操作 3、单例模式 4、C#中的API获取计算机硬件信息 5...
注: 接口为同一个,卡前置模式请求参数多传 card_no 银行卡字段。 2.1、重要参数介绍 注: 参数说明以 【连连支付WEB支付商户接口说明书】 为准 文档地址:http://open.lianlianpay.com/#cat=35 no...
最近在做一个观察者模式的下载,自己写了三个demo一步一步的深入,用到了观察者模式、自定义view、下载的功能 ,感觉还是蛮有用的,所以分享出来给大家
Java 3DMenu 界面源码 5个目标文件 内容索引:Java源码,窗体界面,3DMenu Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都...
线程池是一种线程使用模式,它管理着一组可重用的线程,可以处理分配过来的可并发执行的任务。 线程池设有最大线程数,可以避免线程数过多会导致额外的线程切换开销。 线程池管理的线程具有可重用性,可以减少创建和...
Java 3DMenu 界面源码 5个目标文件 内容索引:Java源码,窗体界面,3DMenu Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都...
xml java系统源码 spring-boot-demo spring boot demo 是一个用来深度学习并实战 spring boot 的项目,目前总共包含 ...网上部分项目demo太过基本,只适合平时学习demo,无法实际用到生产环境中。故开出次项目,希
小编 做的这个项目有部分功能用到了 Activiti工作流,目前对工作流的掌握程度是基本会用,我之前写过一篇 Activiti 入门篇,当前这篇文章是属于Activiti 实战部分,如果你想知道Activiti 工作流是如何使用的话,那就...
5.APP上数据呈现以ListView为主,列表框ListView支持的设计面板模式,可以在设计面板上添加任意数目的控件,排列好布局,各种样式轻松搞定。 6.实现稳定的页面切换效果,让您的APP如原生般的用户体验(APP最注重的...
最近在做一个观察者模式的下载,自己写了三个demo一步一步的深入,用到了观察者模式、自定义view、下载的功能 ,感觉还是蛮有用的,所以分享出来给大家
最近在做一个观察者模式的下载,自己写了三个demo一步一步的深入,用到了观察者模式、自定义view、下载的功能 ,感觉还是蛮有用的,所以分享出来给大家
该项目目前公司系统正在使用,程序采用多线程模式运行,支持高并发,想着可能有同学会用到。