欢迎来到天天文库
浏览记录
ID:58655339
大小:421.50 KB
页数:12页
时间:2020-10-16
《机器视觉矩形与圆检测.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、机器视觉课程设计学院机电工程学院专业机械设计制造及其自动化(微电子制造专业方向)年级班别XXXXXXXXXXXXXXXX学号XXXXXXXXXXXXX学生姓名XXXXXXXXX指导教师XXXXXXXXX2015年1月18日1问题描述1.1基本目标显示一张图片(包含一个矩形或一个圆),测量矩形的长宽或圆的直径。完成得及格分,扩展有加分!要求图片1.2基本要求“机器视觉”考试结果要求独立在计算机上完成,建议使用VisualC++和OpenCV实现一个具有视觉捕捉、图像显示、尺寸测量等功能的对话框程序,其中必须完成对圆盘形零件圆心与直径和矩形零件长与宽尺寸测量内容。在教师提供的基本框架程序基础上,修
2、改、补充界面和功能。2程序及其算法2.1检测与计算圆半径的程序思路:从图片中间横扫取点得M_Point[0],M_Point[1](x坐标相加除2的圆心的x坐标)中间纵向取点得M_Point[2],M_Point[3](y坐标相加除2的圆心的y坐标)圆上四个点到圆心的距离(半径)取平均值,输出为半径。显示图片程序如下:doublec_DialogTeclarn::f_MakeCircle(doublee_dThreshold){if(NULL==m_pIplImageSource){return0;}//定义变量存图像的宽,高,行像素intq_iWidth=m_pIplImageSource-
3、>width;intq_iHeight=m_pIplImageSource->height;intq_iWidthStep=m_pIplImageSource->widthStep;uchar*q_pchDataImage=(uchar*)m_pIplImageSource->imageData;CvPointM_Point[4]={};//存放检索出的四个点循环检索//01纵扫for(intCycle_Y=1;Cycle_Yq_pchDataImage[q_iWidth/2+q_iWidthStep*(Cycle_Y
4、-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_pchDataImage[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
5、_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;Cycle_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_Poin
6、t[i],8,cvScalarAll(127),2);}intRidius=0,clear=0;intcircle_y=abs(M_Point[1].y+M_Point[0].y)/2;intcircle_x=abs(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;//在窗口中显
7、示长和高charch1[10],ch2[10];itoa(Ridius,ch1,10);itoa(clear,ch2,10);SetDlgItemText(IDC_LONG,ch1);SetDlgItemText(IDC_SHORT,ch2);CWnd*e_pCWndPicture=this->GetDlgItem(ID_PICTURE_DISPLAY);f_ControlShowImage(m_
此文档下载收益归作者所有