1、核心数据类 KxVector , KxMatrix 以及其操作为整个系统的核心
KxVector 以一维数组封装向量数据
KxMatrix 以二维数组封装矩阵数据
定义 对 KxVector,KxMatrix 的数学操作为全局函数
包括向量的加减乘除、向量连接、取对数、倒数等
矩阵的加减乘除、取对数、倒数等
以及矩阵与向量、向量与矩阵、矩阵与常数、向量与常数等的计算操作
(也 可以将操作封装到 向量 或者 矩阵里面,但当操作过多的时候,一个类的内容似乎过多以致感觉out of control?)
2、图像核心类 KxImage
应封装 图像的数据 以及 对图像的常规数据存取操作
这三个类应该是整个系统的核心。后面的所有操作与计算都基于这三个基本类。
后面开始按功能分类
1、边缘检测
abstract class KxEdgeMask // 边缘检测的模板
KxSobelMask extends KxEdgeMask // sobel 算子
KxPrewittMask extends KxEdgeMask // prewitt 算子
KxLogMask extends KxEdgeMask // LoG 算子
....等等
KxEdgeDetect
定义一个接口:edge( const KxImage,KxEdgeMask mask);
edge( const KxImage,const char* mask);
对外提供边缘检测服务时候,可采用 Facade ,也可以采用 Factory
2、颜色空间
abstract class ColorSpace( KxImage );
HSIColorSpace extends ColorSpace
YIQColorSpace extends ColorSpace
等等。直接在构造函数里面进行转换!
3、特征提取
特征向量类:KxFeature extends KxVector
这里面就复杂许多了。
细分如下:
A、颜色特征 KxColorFeature
B、灰度共生矩阵 KxGLCM
C、灰度-梯度 共生矩阵 KxGGLCM
D、灰度行程长度 KxGRLS
E、灰度差分统计 KxGDSM
。。。
4、识别策略
abstract class KxReocognizeStrategy
// 滑动窗口识别
KxMoveWindowingRecognize extends KxReocognizeStrategy
// 金字塔分析识别
KxPyramidAnalysisRecognize extends KxReocognizeStrategy
// 基于窗口合并的识别
KxWindowCombineRecognize extends KxReocognizeStrategy
5、识别算法:即分类器
abstract class KxClassfier
KxAdaBoost extends KxClassfier
KxRealBoost extends KxClassfier
KxCascadeAdaBoost extends KxClassfier
KxBayes exnteds KxClassfier
KxDecisionTree extends KxClassfier
6、显示策略
abstract class KxDispTargetResult
//显示图像效果: 在目标区域上画 矩形框
class KxDispTargetRectLine:public KxDispTargetResult
//显示图像效果: 改变目标区域颜色
class KxDispTargetColor:public KxDispTargetResult
//显示图像效果:修改背景区域颜色,目标区域颜色不变
class KxDispBgColor:public IDispTargetResul
7、参数的读取,保存
save to xml with specified f
分享到:
相关推荐
本文将从程序的运行时结构和源代码的组织结构两个方面探讨系统构架设计应考虑的各种因素。 一、基本概念 在讨论系统构架设计之前,我们需要了解一些基本概念,这些概念是理解系统构架设计的基础。 1. 模块:模块...
这五个考虑因素是嵌入式系统设计的关键组件,选择正确的处理器、操作系统、系统逻辑、开发工具和总线接口将确保系统的可靠性、稳定性和可扩展性。 在设计嵌入式系统时,工程师需要考虑多种因素,包括处理器的性能、...
使用文件来模拟外存,进行数据结构设计和操作算法的设计,实现一个文件系统并实现基本的文件操作(为了简便文件系统,不考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容)。要求: 1、对程序的每一部分...
图书零售系统概要设计是指根据书店图书管理系统的需求,设计一个图书零售系统的总体架构和详细设计。该系统的设计目的是为了满足书店图书管理系统的需求,提高图书零售的效率和准确性。 图书零售系统概要设计的内容...
在IT行业中,系统设计是软件开发过程中的关键环节,它涉及到架构设计、概要设计、详细设计和数据库设计等多个步骤。这些步骤都是确保项目成功、高效且可维护的关键。以下是对这些知识点的详细阐述: 1. **架构设计*...
在这个阶段,我们需要选择合适的单片机和其他组件,设计合适的电路和系统架构。下面是系统方案设计的几个要点: 1. 选择合适的单片机:我们需要选择合适的单片机,考虑到系统的需求和性能。 2. 设计电路架构:我们...
编写本设计说明书的主要目的是为系统设计人员提供一个清晰的框架,用于理解和实现软件系统的各个组成部分,确保系统设计的合理性、高效性和可维护性。 1.2 预期读者 本文档面向的读者包括项目经理、系统设计师、...
在系统概要设计阶段,数据结构设计是一个至关重要的环节,它涉及逻辑结构设计和物理结构设计,以及E-R图的转换。首先,我们来详细探讨逻辑结构设计。 逻辑结构设计的目标是将基本的E-R图转化为与所选数据库管理系统...
为达到这个目的,本文设计了一个交叉限制式串级燃烧自动系统,实现燃料和空气流量的比例控制,并且在具有下游换热器的加热炉装置中,下游换热器只在工艺介质最终温度异常升高时工作,在平稳生产时不起作用。...
在设计该系统时,需要考虑到以下几个方面: 1. 设计背景:随着公司或单位的规模扩大,员工人数的增加,使得员工考勤管理变得越来越复杂。因此,需要开发一个基于数据库的员工考勤管理系统,以帮助公司或单位更好地...
在系统设计上,它考虑了多学院的需求,意味着不同学院的毕业设计选题可以在这个平台上统一管理和协调,避免了传统的手工操作带来的繁琐和错误。这样的系统通常包括以下几个关键模块: 1. **用户管理**:系统应具备...
这个系统是数据库课程设计的一部分,旨在提供一套全面的工具来管理图书馆的资源、借阅和归还流程。以下是对这个系统的各个关键方面进行的详细说明: 1. **PowerBuilder**:PowerBuilder是一款强大的第四代编程语言...
通过这个系统,企业可以实现人事管理的系统化、规范化和自动化,从而提升整体管理效能。系统主要分为六个功能模块:主界面、浏览、查询、统计、编辑和报表,覆盖了人事管理的基本操作。 主界面作为系统的入口,提供...
"图书馆管理系统详细设计说明书" 本资源摘要信息是基于图书馆管理系统详细设计说明书的内容,旨在向读者...但是,如果我们能够正确地设计和实现这个系统,那么它将能够 帮助图书馆管理员更好地管理图书馆的日常事务。
本篇文章将详细介绍一个典型的高校教务管理系统的数据库设计方案,包括需求分析、事务需求分析、概念设计、逻辑设计及物理设计等核心环节。 #### 二、需求分析 需求分析是设计任何信息系统的基础,对于教务管理...
根据提供的信息,我们可以推断这份文档“系统架构设计师教程.pdf”是关于系统架构设计方面的教程。由于提供的部分内容仅包含重复的网址(www.TopSage.com),我们无法从中直接获取具体的教学内容。因此,我们将基于...
在设计中,工程师需要计算电机的额定功率、扭矩和速度等参数,并考虑系统中可能出现的最大负载和加速度,以确保电机能够在各种工作条件下提供足够的动力。 伺服系统中的反馈设备通常是编码器,它们可以提供非常精确...
小型自选商场综合管理系统系统设计与实施 小型自选商场综合管理...同时,需要涉及到代码设计、数据库存储设计、输入输出设计、系统流程图设计等多个方面,并且需要考虑到系统的安全性、可扩展性、灵活性等多个方面。
太阳能路灯系统的设计 ...太阳能路灯系统的设计需要考虑多个方面的因素,包括系统的设计要求、硬件设计、软件设计和测试等方面。只有通过系统的设计和测试,才能确保太阳能路灯系统的可靠性、安全性和性能。