基于OpenCV的电路识别系统

第一章 课题背景(或绪论、概述)

1.1 OpenCV简介

OpenCV是Intel开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV 拥有包括 300 多个C函数的跨平台的中、高层 API。它不依赖与其它的外部库,尽管也可以使用某些外部库。OpenCV 还提供了 Python、Ruby、MATLAB 以及其他语言的接口。OpenCV 的设计目标是执行速度尽量快,主要关注实时应用。它采用优化的 C 代码编写,能够充分利用多核处理器的优势因为计算机视觉和机器学习密切相关,所以 OpenCV 还提供了 MLL(Machine Learning Library)机器学习库。该机器学习库侧重于统计方面的模式识别和聚类(clustering)。MLL 除了用在视觉相关的任务中,还可以方便地应用于其他的机器学习场合。机器视觉很广泛地被用在工厂中:差不多所有的大规模制造的产品都在流水线上的某个环节上自动使用视觉检测。

1.2 MFC简介

MFC是对WindowsAPI的封装,大大简化了我们的工作;学VC主要就是要学MFC,大约有100多个类。CWnd:窗口,它是大多数“看得见的东西”的父类(Windows里几乎所有看得见的东西都是一个窗口,大窗口里有许多小窗口),比如视图CView、框架窗口CFrameWnd、工具条CToolBar、对话框CDialog、按钮CButton,etc;一个例外是菜单(CMenu)不是从窗口派生的。CDocument文档,负责内存数据与磁盘的交互。CView视图,负责内存数据与用户的交互。包括数据的显示、用户操作的响应(如菜单的选取、鼠标的响应)。最重要的是OnDraw(重画窗口),通常用CWnd::Invalidate()来启动它。另外,它通过消息映射表处理菜单、工具条、快捷键和其他用户消息。CWinApp应用程序类。似于C中的main函数,是程序执行的入口和管理者,负责程序建立、消灭,主窗口和文档模板的建立。最常用函数InitInstance():初始化。CDC设备文本。无论是显示器还是打印机,都是画图给用户看。这图就抽象为CDC。CDC与其他GDI(图形设备接口)一起,完成文字和图形、图像的显示工作。把CDC想象成一张纸,每个窗口都有一个CDC相联系,负责画窗口。CDC有个常用子类CClientDC(窗口客户区),画图通常通过CClientDC完成。等等还有很多类的应用。

1.3设计背景

计算机视觉是将来自静止图像或视频的数据转换成一个决策或者一种新的表达方式的过程,所有的这些转换都是为了达到某个目标。输入数据可以包含一些辅助信息,如"摄像机架在汽车上"或"激光扫描仪在1米处发现一个物体"。最终的决策可能是"场景中有一个人"或"在这个切片中有14个肿瘤细胞"。一种新的表达方式可以是将一张彩色照片转为灰度照片,或者从图像序列中去除摄像机晃动影响。计算机视觉拟根据摄像机数据来采取行动或者做出决策,这样的行动或决策是在一个指特定目的或任务的环境中来解决。

OpenCV的目标是为解决计算机视觉问题提供基本工具。在有些情况下,它提供的高层函数可以高效地解决计算机视觉中的一些很复杂的问题。当没有高层函数时,它提

基于OpenCV的电路识别系统相关文档

最新文档

返回顶部