机器视觉课程设计报告

机器视觉课程设计报告

ID:47200126

大小:391.50 KB

页数:13页

时间:2019-08-23

机器视觉课程设计报告_第1页
机器视觉课程设计报告_第2页
机器视觉课程设计报告_第3页
机器视觉课程设计报告_第4页
机器视觉课程设计报告_第5页
资源描述:

《机器视觉课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、.机器视觉课程设计对圆盘形零件圆心与直径和矩形零件长与宽尺寸测量学生学院机电学院专业班级学号学生姓名指导教师2015年1月20日..目录1问题描述51.1基本目标51.2基本要求52程序及其算法52.1检测与计算圆半径的程序52.2检测与计算矩形长和宽的程序82.2.1打开摄像头程序82.2.2保存拍摄的照片程序92.2.3读取拍摄到的图片(读取文名字CurrentImage.jpg的图片)92.2.4检测边上的点和计算长和高的函数92.2.5老师写的显示图片的函数133运行结果144小结15..1问题描述1.1基本目标显示一张图片(包含一个矩形或一个圆),测量矩形的长宽或圆的

2、直径。完成得及格分,扩展有加分!要求图片1.2基本要求“机器视觉”考试结果要求独立在计算机上完成,建议使用VisualC++和OpenCV实现一个具有视觉捕捉、图像显示、尺寸测量等功能的对话框程序,其中必须完成对圆盘形零件圆心与直径和矩形零件长与宽尺寸测量内容。在教师提供的基本框架程序基础上,修改、补充界面和功能。2程序及其算法2.1检测与计算圆半径的程序思路:从图片中间横扫取点得M_Point[0],M_Point[1](x坐标相加除2的圆心的x坐标)中间纵向取点得M_Point[2],M_Point[3](y坐标相加除2的圆心的y坐标)圆上四个点到圆心的距离(半径)取平均值

3、,输出为半径。..显示图片程序如下:doublec_DialogTeclarn::f_MakeCircle(doublee_dThreshold){if(NULL==m_pIplImageSource){return0;}//定义变量存图像的宽,高,行像素intq_iWidth=m_pIplImageSource->width;intq_iHeight=m_pIplImageSource->height;intq_iWidthStep=m_pIplImageSource->widthStep;uchar*q_pchDataImage=(uchar*)m_pIplImageSou

4、rce->imageData;CvPointM_Point[4]={};//存放检索出的四个点循环检索//01纵扫for(intCycle_Y=1;Cycle_Yq_pchDataImage[q_iWidth/2+q_iWidthStep*(Cycle_Y-1)]){M_Point[0].x=q_iWidth/2;M_Point[0].y=Cycle_Y;..}}for(intCycle_Y=q_iHeight;Cycle_Y>1;Cycle_Y--){if(e_dThreshold>q_pchData

5、Image[q_iWidth/2+q_iWidthStep*(Cycle_Y-1)]){M_Point[1].x=q_iWidth/2;M_Point[1].y=Cycle_Y;}}for(intCycle_X=1;Cycle_Xq_pchDataImage[Cycle_X+q_iWidthStep*(q_iHeight/2-1)]){M_Point[2].x=Cycle_X;M_Point[2].y=q_iHeight/2;}}for(intCycle_X=q_iWidth;Cycle_X>1;Cycl

6、e_X--){if(e_dThreshold>q_pchDataImage[Cycle_X+q_iWidthStep*(q_iHeight/2-1)]){M_Point[3].x=Cycle_X;M_Point[3].y=q_iHeight/2;}}..for(inti=0;i<4;i++)//画边界圆{cvCircle(m_pIplImageSource,M_Point[i],8,cvScalarAll(127),2);}intRidius=0,clear=0;intcircle_y=abs(M_Point[1].y+M_Point[0].y)/2;intcircle_x=a

7、bs(M_Point[3].x+M_Point[2].x)/2;floatc=0,j=0;for(inti=0;i<4;i++){j=(M_Point[i].x-circle_x)*(M_Point[i].x-circle_x)+(M_Point[i].y-circle_y)*(M_Point[i].y-circle_y);c=c+sqrt(j);}Ridius=c/4;//在窗口中显示长和高charch1[10],ch2[10];itoa(Ridius,ch1,10);itoa(clear

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。