`
kofsky
  • 浏览: 196895 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

demo里用到的模式

阅读更多

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命令模式+装饰模式小demo

    学习js设计模式的例子,用到了命令模式、修装模式

    android Activity的启动模式 作用简析+demo详解

    笔者近期做的一个项目用到了Activity的启动模式,也算是第一次深刻地领会到了其强大与方便。在此也是将自己所得与大家分享,自己写了一个比较简易的demo,便于让大家理解。 此篇博客意在让对启动模式不了解的开发者...

    java/c++中介模式demo

    分别用java和c++演示的中介模式,java的demo用到了swing

    Jersey Spring Integration Demo

    关于Spring,也是我们常用的IOC在java下一种实现了,不过相对.net下IOC的实现,Spring相对更强大(反正之前在.Net下,我是习惯了啥都去配置,在Java下才知道有一种Scan模式,本Demo中也用到了,不知道的可以查查...

    IOS单例模式Demo

    由于在项目中单例模式户经常用到,所以可以将其写成宏放头文件里,这样就可以两行代码搞定单例

    C# 23种设计模式汇总+demo

    代码详细说明设计模式的主要重点,项目中常用到的设计模式,适合中级程序员研究。

    MvpDemo:开发模式MVP

    MvpDemo 开发模式MVP 普通的看simple1 为什么要判断view是不是为空 有时候用户把activity finish掉了 view也回收掉了 但是网络是延迟的 网络请求成功或者失败 用到view回掉结果 这段代码是避免了每次用view要判断 ...

    STM32_OTA_Demo_ESP8266

    下面我们将来认识一下这个模块,并介绍demo里相关底层驱动的实现。 ESP-01模块 ESP-01模块集成esp8266EX WIFI芯片,支持802.11b/g/n协议,支持UART/GPIO等接口,内嵌LwIP协议栈,支持STA/AP/STA+AP工作模式,是一款...

    C#使用简单三层实现获取本地计算机硬件信息以及使用ADO.net操作数据库、用户权限控制、条件筛选、Excel导出、单例模式等功能

    这是一个使用C#简单三层的架构、实现获取本地计算机硬件信息的demo、用到的基础知识点有: 1、三层架构的开发思想、以及层次之间的引用关系 2、ADO.NET对数据库的操作 3、单例模式 4、C#中的API获取计算机硬件信息 5...

    连连银通支付WEB-DEMO开发包

    注: 接口为同一个,卡前置模式请求参数多传 card_no 银行卡字段。 2.1、重要参数介绍 注: 参数说明以 【连连支付WEB支付商户接口说明书】 为准 文档地址:http://open.lianlianpay.com/#cat=35 no...

    观察者模式下载2进阶篇

    最近在做一个观察者模式的下载,自己写了三个demo一步一步的深入,用到了观察者模式、自定义view、下载的功能 ,感觉还是蛮有用的,所以分享出来给大家

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java 3DMenu 界面源码 5个目标文件 内容索引:Java源码,窗体界面,3DMenu Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都...

    Qt QThreadPool线程池 Demo

    线程池是一种线程使用模式,它管理着一组可重用的线程,可以处理分配过来的可并发执行的任务。 线程池设有最大线程数,可以避免线程数过多会导致额外的线程切换开销。 线程池管理的线程具有可重用性,可以减少创建和...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java 3DMenu 界面源码 5个目标文件 内容索引:Java源码,窗体界面,3DMenu Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都...

    xmljava系统源码-spring-boot-demo:springbootdemo是一个用来深度学习并实战springboot的项目,该项

    xml java系统源码 spring-boot-demo spring boot demo 是一个用来深度学习并实战 spring boot 的项目,目前总共包含 ...网上部分项目demo太过基本,只适合平时学习demo,无法实际用到生产环境中。故开出次项目,希

    SpringBoot 集成 Activiti在线设计器(完整Demo)

    小编 做的这个项目有部分功能用到了 Activiti工作流,目前对工作流的掌握程度是基本会用,我之前写过一篇 Activiti 入门篇,当前这篇文章是属于Activiti 实战部分,如果你想知道Activiti 工作流是如何使用的话,那就...

    OrangeUI 1.74 D10.1&D10;.1.2&D10;.2.2 包含安装文档和DEMO, XE10.2编译通过

    5.APP上数据呈现以ListView为主,列表框ListView支持的设计面板模式,可以在设计面板上添加任意数目的控件,排列好布局,各种样式轻松搞定。 6.实现稳定的页面切换效果,让您的APP如原生般的用户体验(APP最注重的...

    观察者模式下载1起始篇

    最近在做一个观察者模式的下载,自己写了三个demo一步一步的深入,用到了观察者模式、自定义view、下载的功能 ,感觉还是蛮有用的,所以分享出来给大家

    观察者模式下载3完成篇

    最近在做一个观察者模式的下载,自己写了三个demo一步一步的深入,用到了观察者模式、自定义view、下载的功能 ,感觉还是蛮有用的,所以分享出来给大家

    企业微信号消息管理器demo

    该项目目前公司系统正在使用,程序采用多线程模式运行,支持高并发,想着可能有同学会用到。

Global site tag (gtag.js) - Google Analytics