- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
机器人及视觉技术实验指导书
浙江工业大学机械学院
2012年1月目录
第一部分:基础编程方法 3
(一)、实验目的 3
(二)、实验设备 3
(三)、实验方法 3
第二部分:分组实验内容 18
题目一:基于机器视觉的叶片面积测量系统 18
题目二:基于机器视觉的硬币计数系统 18
题目三:基于机器视觉的实时测距系统 18
题目四:基于机器视觉的实时定位系统 18
题目五:基于机器视觉的水果识别系统 19
题目六:基于机器视觉的目标位姿测定系统 19
题目七:基于机器视觉的形状识别系统 19
第一部分:基础编程方法
(一)、实验目的
1、了解VC6.0的运行环境及基本操作;
2、了解基于对话框的程序的编写;
3、了解PC机USB摄像头的控制;
4、熟悉数字图像的存储形式以及常用处理方法;
5、利用VC对摄像头对图像进行采集与处理。
(二)、实验设备
1、硬件环境:PC机与USB摄像头;
2、软件环境:Windows操作系统、VC6.0编辑器、OpenCV1.0开源库。
(三)、实验方法
编写程序前,首先下载OpenCV1.0,下载地址:
/index.php/Download ,按照网站的“VC6下安装与配置OpenCV1.0一、开始菜单—Microsoft Visual Studio 6.0— Microsoft Visual C++ 6.0,如图1所示,VC6.0运行界面如图2所示。
图1
图2
二、File —new…弹出图3所示的对话框。
图3
在对话框中选择“MFC AppWizard(exe)”,并在“Project name”对话框中填写程序名称,点击“OK”退出对话框。
图4
三、添加文件至camera文件下,包括“DirectShow”文件夹、“CameraDS.cpp”和“CameraDS.h”。
图5
四、将工程文件的树形结构展开,添加“CameraDS.cpp”至“Source Files”,添加“CameraDS.h”至“Header Files”。右键单击“Source Files”弹出菜单,选择“Add Files to Folder”,弹出窗口,选择“CameraDS.cpp”文件,并确定;同理添加“CameraDS.h”文件。添加后,这两个文件出现在目录树中。
图6
五、项目配置,Project —Setting…弹出图7所示的对话框,在“Category”DirectShow/Include”;选择“Link”标签页,在“Category”DirectShow/Lib”;在“Object/library modules”中添加“cxcore.lib cv.lib cvaux.lib highgui.lib cvcam.lib”。选择“C++”标签页,在“Category”
图
图
七、将“Picture”控件拖入窗口,设置合适的大小,并修改其属性,更改ID为“IDC_PICL”,“IDC_PICR”。
图
八、在“cameraDlg.h”中添加头文件,camerads.h、highgui.h、cv.h。
图
九、在CCameraDlg类中(即在cameraDlg.h文件中),添加公共变量。
CDC *pDCL, *pDCR ; //图形设备环境指针
HDC hDCL, hDCR ; //设备上下文的句柄
CRect rectL, rectR; //窗口区域
CCameraDS camera ; //CCameraDS类的对象
CvvImage m_imageL ;//左窗口图像数据
CvvImage m_imageR ;//右窗口图像数据
int m_iWidth; //图像宽度
int m_iHeight; //图像高度
bool m_bCameraOpen ;//判断图像是否已经打开,标志变量
int cam_count; //摄像头数目
bool m_bImageShow ; //图像是否正在显示
图
十、对上述定义的部分变量进行初始化,初始化放在构造函数中。
m_iWidth = 320 ;
m_iHeight = 240 ;
m_bCameraOpen = false ;
m_bImageShow = false ;
图
十一、添加按钮,实现查找摄像头,并对摄像头进行初始化。
void CCameraDlg::OnOpenCamera()
{
//将代码添加到这个函数中
}
图void CCameraDlg::OnOpenCamera()
{
if(m_bCameraOpen)
{
return ;
}
cam_count = CCameraDS::CameraCount();
if(!cam_co
文档评论(0)