工作室课题 小车走迷宫 大连民族学院 电工电子实验教学中心.

Slides:



Advertisements
Similar presentations
While 迴圈 - 不知重複執行次數
Advertisements

如何照顾病人. 目的 减轻痛苦 增进舒适 恢复体力 疾病痊愈 预防疾病 Image source:
职业指导服务系统 欢迎了解职业指导服务系统!
小一家長會 訓育訊息 德性培育組 余家濂主任
C语言程序设计 主讲教师 :张群燕 电话:
肖 冰 深圳市达晨创业投资有限公司 副总裁 深圳市达晨财信创业投资管理公司 总裁
第1单元 操作系统概论 第一节 绪论 操作系统定义.
绪论 测试信号的描述与分析 测试系统的基本特性 常用传感器 模拟信号处理 数字信号处理 计算机与虚拟仪器测试技术.
“八皇后”问题 崔萌萌 吕金华.
99年成語200題庫(21-40).
提高自身素质做好 新时期班主任工作 北京市广渠门中学 高金英.
第一章 C语言概述 计算机公共教学部.
普通话模拟测试 与学习平台 使用指南.
香港普通話研習社科技創意小學 周順強老師.
操作系统原理 Principles of Operating System
網路小說劇情建構與伏線營造 Windows98.
食品营养成分的检验. 食品营养成分的检验 科学探究的一般过程: 形成假设 设计方案 收集数据 表达交流 处理信息 得出结论 探究:馒头和蛋糕中是否含有淀粉和脂肪 假设:馒头和蛋糕中含有淀粉和脂肪.
和大樹做朋友 一起去探索兒童公園的動植物生態吧! 財源老師技術指導、詩韻老師整理製作.
PowerPoint Template 門禁監控系統- 應用影像辨識技術 1.
做最好的自己 ——七(6)班主题班会.
关于整合检验检测认证机构实施意见的通知(国办发〔2014〕8号)
第6章 网页图像处理 通过本章学习,应该掌握以下内容: 能够选择合适的网页颜色 了解网页图像的基本格式 掌握使用网页图像的要点
摩斯漢堡 科管三甲 洪采妏 科管三甲 馮怡苑.
推进德育创新 做好新时期班主任工作 北京市广渠门中学 高金英.
基于VC++的数字图像特效处理系统的设计与实现
一种基于Hadoop的视频大数据分布式解码方法 冯强
C++程序设计 王希 图书馆三楼办公室.
第13章 单片机开发板设计 本章主要介绍单片机应用系统的设计思想、设计理念和设计一个单片机应用系统要考虑的一些问题。本章中还介绍了笔者自主设计的一款基于proteus仿真平台的单片机开发板.
Intel® 开源计算机视觉库OpenCV
做一个清醒、睿智、稳健、        有为的领导者 军队管理教研室 蒋少散.
第8章 字元與字串處理 8-1 C語言的字元檢查函數 8-2 C語言的字串 8-3 字串的輸入與輸出 8-4 指標與字串
CH2 開發環境介紹 最簡單的互動設計 – Arduino一試就上手 孫駿榮、吳明展、盧聰勇.
函數 授課:ANT 日期:2009/3/24.
函數 授課:ANT 日期:2011/3/28.
Screen Layout & Background Image
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
程序设计期末复习 黎金宁
第三章 C++中的C 面向对象程序设计(C++).
第12章 從C到C++語言 12-1 C++語言的基礎 12-2 C++語言的輸出與輸入 12-3 C++語言的動態記憶體配置
程式撰寫流程.
初始化串列通訊埠 在啟始串列傳輸介面時有以下3個步驟:假設傳輸的通訊協定為9600bps,傳送8個位元資料,沒有同位位元,1個停止位元。
网络游戏开发语言基础 ——Windows程序设计
中国科学院软件研究所 计算机科学国家重点实验室 张文辉
Linux操作系统分析 中国科学技术大学计算机系 陈香兰(0512- )
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
Digital Image Processing 數位影像處理
C++语言程序设计 第十一章 流类库与输入/输出.
东北林业大学 陈宇 ACM程序设计 东北林业大学 陈宇
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
第4讲 C++程序控制结构(二) 4.1 循环结构 4.2 转向控制 4.3 综合案例分析.
程式結構&語法.
单片机原理与应用 主讲人:张荣刚 福建师范大学福清分校.
C++语言程序设计 C++语言程序设计 第三章 控制语句 第十一组 C++语言程序设计.
本节内容 字节对齐.
Chap 5 函数 5.1 计算圆柱体积 5.2 使用函数编写程序 5.3 变量与函数.
7.1 C程序的结构 7.2 作用域和作用域规则 7.3 存储属性和生存期 7.4 变量的初始化
第11章 從C到C++語言 11-1 C++語言的基礎 11-2 C++語言的資料型態與運算子 11-3 C++語言的輸出與輸入
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第二章 类型、对象、运算符和表达式.
聚合型第一種:隱沒帶、島弧 例子:臺灣東方的琉球海溝、南美洲智利海溝. 聚合型第一種:隱沒帶、島弧 例子:臺灣東方的琉球海溝、南美洲智利海溝.
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
挑戰C++程式語言 ──第9章 函數.
#include <iostream.h>
亞洲大學 資訊工程學系 多重來源影像監控系統
PROGRAM 1 Simple E. Angel, Interactive Computer Graphics A Top-Down Approach with OpenGL, Third Edition Addison-Wesley Longman, 2003.
轉換成二進位、八進位及十六進位 = ( ) = ( ) = ( )16.
函式庫補充資料 1.
96 教育部專案補助計畫案明細 單位 系所 教育部補助款 學校配合款 工作໨目 計畫主 持人 備註 設備費 業務費 579,000
99 教育部專案補助計畫案明細 大類 分項 教育部補助 學校配合款 工作項目 計畫主 持人 執行期限 文號 備註 設備費 業務費 管理學院
Presentation transcript:

工作室课题 小车走迷宫 大连民族学院 电工电子实验教学中心

课题介绍 计算机控制小车推球(☆☆☆) 利用计算机自动发布指令控制小车将物体推到指定位置 摄像头监控小车位置,通过图像处理,对小车发布运动指令。 计算机与小车之间的通信为串行通信(有线)或无线方式 小车已有,可根据需要改进并编写控制程序 计算机控制小车走迷宫(☆☆☆☆) 计算机控制小车走出迷宫 其他与“小车推球”类似 小车自动走迷宫(☆☆☆☆☆☆) 没有计算机,全部利用小车上的处理器进行控制 需要良好的硬件及软件能力,时间充裕 两组限制

现有资源介绍 1、小车照片

现有资源介绍 2、迷宫的图片

相关背景知识 电脑鼠的相关比赛 2006国际电脑鼠邀请赛表演(新加坡) 第三届上海市嵌入式系统创新设计应用竞赛”——暨“IEEE标准电脑鼠走迷宫”邀请赛(长三角地区 ) http://www.micromouse.com.cn/

相关背景知识 本地控制 通讯协议 Software 传感或拍摄 USB线 图像识别 远程控制 迷宫 无线通讯 系统组成与信息流程

相关背景知识 系统基本框图 计算机控制小车走迷宫系统结构图

相关背景知识 技术难点 图像实时采集 图像处理——预处理,形状检测,小车跟踪,摄像机标定 最优线路生成 闭环控制算法 小车电机控制 单片机编程、通信

课程组织形式及要求 提供的材料 玩具小车一部,采用直流电机驱动。 小车驱动电路板(89S52板+电机控制板各一) USB-RS232线缆一根 无线模块一对。

课程组织形式及要求 基本要求 小车可根据需要自行改装,如加装标志物品,车牌号码等(加分),但不得做破坏性设计(扣分)。 运行过程中不得故意剧烈冲撞迷宫(扣分)。 可使用任意软件进行算法设计,但不得完全采用市场上已有的现成的可执行程序(即应能提供源代码),软件算法应能适应变化的迷宫。 小车与计算机的通讯可采用RS232串行通信模式,亦可采用无线模块。

课程组织形式及要求 组长负责组内成员的管理,组内任务分配,组员的考核,与教师和助教的沟通 组长负责组员的管理与考核 与教师和助教的沟通 组长负责制 组长负责组内成员的管理,组内任务分配,组员的考核,与教师和助教的沟通 组长负责组员的管理与考核 与教师和助教的沟通 助教 助教的作用在于解决实验室安排、仪器使用问题,并提供宏观的、经验的指导,不能负责具体细节支持。 每组分配一名对口助教,有问题可以先于对口助教联系,其他助教亦可咨询。 教师 总体支持,协调

课程组织形式及要求 成绩组成 小组成绩( 80% ) – 作品(40%)(外观、功能、软件及硬件的易操作性等)  小组成绩( 80% )   – 作品(40%)(外观、功能、软件及硬件的易操作性等)   – 报告 (30%)(完整性、合理性、可读性、可参考性等)   – 每周进度文档(5%) – 对其他组的贡献(5%)   个人成绩( 20% )  – 组长及助教对组员的评价 (10 +5 ) – 论坛贡献度 (5%)  个人突出贡献加分( <10% ,总成绩不超过100)

课程组织形式及要求 课程进度 1-3周:分组,选题 4-8周:查找资料,方案设计,同时开设讲座 9-15周:制作,功能实现 16周:验收 17周:完成课程设计报告

课程组织形式及要求 课程讲座 图像处理基础及软件包(OPEN CV)的使用初步 Labview使用基础 LabWindows/CVI使用基础 微处理器89S52及其Keil C使用基础 根据小组选题或个人兴趣选择参加,提前1-2周网上公布讲座时间及具体内容,参加讲座不计入平时成绩。

OpenCV图像处理包简介 OpenCV图像处理软件包简介

OpenCV图像处理包简介 课题中的成像系统要求 光源亮度要足够、均匀 成像的投影关系 镜头聚焦使整个场景清晰

OpenCV图像处理包简介 OpenCV 介绍 OpenCV = Open Source Computer Vision Library OpenCV是跨平台的函数库,独立于操作系统/硬件/图形管理器,支持Windows和Linux环境 OpenCV的开发目的是实时应用,代码效率高,运算速度快 OpenCV为Integrated Performance Primitives (IPP) 提供了透明接口

OpenCV图像处理包简介 OpenCV的功能 图像数据的操作 ( 分配、释放、复制、设置和转换) 图像是视频的输入输出I/O (文件与摄像头的输入、图像和视频文件输出) 矩阵和向量的操作以及线性代数的算法程序(矩阵积、解方程、特征值以及奇异值等) 各种动态数据结构(列表、队列、集合、树、图等)

OpenCV图像处理包简介 OpenCV的功能 基本的数字图像处理(滤波、边缘检测、角点检测、采样与差值、色彩转换、形态操作、直方图、图像金字塔等) 结构分析(连接部件、轮廓处理、距离变换、各自距计算、模板匹配、Hough变换、多边形逼近、直线拟合、椭圆拟合、Delaunay 三角划分等) 摄像头定标(发现与跟踪定标模式、定标、基本矩阵估计、齐次矩阵估计、立体对应)

OpenCV图像处理包简介 OpenCV的功能 运动分析(光流、运动分割、跟踪) 目标识别(特征法、隐马尔可夫模型:HMM) 基本的GUI (图像与视频显示、键盘和鼠标事件处理、滚动条) 图像标注(线、二次曲线、多边形、画文字)

OpenCV图像处理包简介 CV Highgui CXCORE OpenCV的模块 CV:图像处理、视觉算法 Highgui:GUI,图像、视频接口

OpenCV图像处理包简介 例程1 IplImage结构: int nChannels:1、2、3、4通道 depth:IPL_DEPTH_8U,IPL_DEPTH_32F int origin:0 - 顶—左结构, 1 - 底—左结构 int width:图像宽像素数 int height:图像高像素数 int imageSize:图像数据大小 int widthStep:排列的图像行大小,以字节为单位 char * imageData:指向排列的图像数据 对一幅灰度图象,nChannels为1,对RGB图像nChannels为3或者4;depth通常为IPL_DEPTH_8U,即8位整型。 I(x,y)c ~ ((T*)(img->imageData + img->widthStep*y))[x*N + c] OpenCV定义宏: I(x,y)c ~ CV_IMAGE_ELEM( img, T, y, x*N + c ) 1. #include <cxcore.h> 2. #include <highgui.h> 3. #include <math.h> 4. int main( int argc, char** argv ) { 5. CvPoint center; 6. double scale=-3; 7. IplImage* image = argc==2 ? cvLoadImage(argv[1]) : 0; 8. if(!image) return -1; 9. center = cvPoint(image->width/2,image->height/2); 10. for(int i=0;i<image->height;i++) 11. for(int j=0;j<image->width;j++) { 12. double dx=(double)(j-center.x)/center.x; 13. double dy=(double)(i-center.y)/center.y; 14. double weight=exp((dx*dx+dy*dy)*scale); 15. uchar* ptr = &CV_IMAGE_ELEM(image,uchar,i,j*3); 16. ptr[0] = cvRound(ptr[0]*weight); 17. ptr[1] = cvRound(ptr[1]*weight); 18. ptr[2] = cvRound(ptr[2]*weight); } 19. cvSaveImage( “copy.png”, image ); 20. cvNamedWindow( "test", 1 ); 21. cvShowImage( "test", image ); cvWaitKey(); cvReleaseImage(&image); 23. return 0; }

OpenCV图像处理包简介 例程1 安装OpenCV 1.0版,选择注册环境变量 打开VS2005,创建项目,编写代码,设置OpenCV的路径 编译运行

OpenCV图像处理包简介 OpenCV与Windows位图 利用OpenCV的Highgui访问图像、视频、摄像头,直接获取OpenCV格式的图像数据,进行图像处理,最后转为位图在VC++程序中显示 利用WinAPI或MFC访问图像、数据、摄像头,再将获取的数据转换为OpenCV格式,用OpenCV进行图像处理,最后再将结果转换为位图在VC++程序中显示 Bitmap->OpenCV 例程 // 打开位图 dBitmap.DibLoadImage(hWnd, true); // 将位图转为IplImage结构 hdc = GetDC(hWnd); hBmpApi = dBitmap.CreateDDB(hdc); imageApi = hBitmap2Ipl(hBmpApi); ReleaseDC(hWnd, hdc); // 显示 cvNamedWindow("OpenCV", 1); cvShowImage("OpenCV", imageApi); OpenCV -> Bitmap: 例程 // 利用OpenCV打开图像 image = cvLoadImage("lena.bmp"); // 将IplImage结构转换为位图 hBitmap = IplImage2DIB(image); //显示 BitBlt (hdc, 0, 0, image->width, image->height, hdcMem, 0, 0, SRCCOPY) ; OpenCV与Windows位图

OpenCV图像处理包简介 例程2

OpenCV图像处理包简介 例程3 CvCapture* capture = 0; IplImage * frame; capture = cvCaptureFromCAM(1); cvNamedWindow( "OpenCV", 1 ); if(capture) { while(1) { if( !cvGrabFrame( capture )) break; frame = cvRetrieveFrame( capture ); if( !frame ) cvShowImage("OpenCV", frame); if( cvWaitKey( 5 ) >= 0 ) } cvReleaseImage( &frame ); cvReleaseCapture( &capture ); cvDestroyWindow("OpenCV");

OpenCV图像处理包简介 课外作业 熟悉OpenCV,了解CxCore,CV库 编写一个WinAPI或MFC或OpenCV程序 直接调用VFW,或者调用OpenCV采集摄像头图像,显示在Windows对话框中 对每帧图像做例程1中的处理,显示在新的窗口中 对上一步的每一帧,调用CxCore中的绘图函数,在新窗口中画矩形 记录每秒处理的帧数