opencv 椭圆检测识别并画出轮廓.doc_第1页
opencv 椭圆检测识别并画出轮廓.doc_第2页
opencv 椭圆检测识别并画出轮廓.doc_第3页
opencv 椭圆检测识别并画出轮廓.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

*#include stdafx.h#include cv.h#include highgui.husing namespace cv;using namespace std; /标示符的可见范围CvPoint2D32f GetCPoint(IplImage* imageFg,int maxX);void FitEllipseBlob(IplImage* imageFg);int main( int argc, char* argv ) IplImage* pImg; /声明IplImage指针 /载入图像 pImg = cvLoadImage( C:UsersBBDesktopbecOPENCV椭圆拟合定位椭圆中心点以及重心法定位程序OPENCV椭圆拟合定位椭圆中心点以及重心法定位程序特征中心点提取误差分析image.bmp, 1);/此处的argc=2是否需要改成argc=1?我改了之后才能运行成功。求大牛解惑 / wmzzzz : 在属性|debug|里的command arguments 里加入参数(一个路径:要打开的文件路径) 这时 argc=2 就合理了.可以试试多加几个 int pointX = 0;for (int i=0;iwidth,pImg-height),IPL_DEPTH_8U,1);IplImage* m_imageBw = cvCreateImage(cvSize(pImg-width,pImg-height),IPL_DEPTH_8U,1);cvCvtColor(pImg,m_imageGray,CV_RGB2GRAY);cvThreshold(m_imageGray,m_imageBw,128,255,CV_THRESH_BINARY);CvPoint2D32f pointXX;float XXX,YYY;for (int i = 0;i19;i+)pointX=60*i+60;pointXX = GetCPoint(m_imageBw,pointX);XXX=pointXX.x;YYY=pointXX.y;coutXXX YYYendl;coutendl;coutendl;coutendl;coutendl;coutendl;FitEllipseBlob(m_imageBw); cvNamedWindow( Image, 1 );/创建窗口 cvShowImage( Image, m_imageBw );/显示图像cvSaveImage(image.bmp,pImg); cvWaitKey(0); /等待按键 cvDestroyWindow( Image );/销毁窗口 cvReleaseImage( &pImg ); /释放图像 return 0;CvPoint2D32f GetCPoint(IplImage* imageFg,int maxX)CvPoint2D32f point;double Xsum=0,Ysum=0,Sum=0;CvScalar Value;for (int j=0;jheight;j+)for (int i= maxX-60;ih_next)int i;int count= cont-total;/轮廓个数CvPoint2D32f center;CvSize size;/*个数必须大于6,这是cvFitEllipse_32f的要求if (count6)continue;/分配内存给点集PointArray = (CvPoint *)malloc(count*sizeof(CvPoint);PointArray2D32f = (CvPoint2D32f*)malloc(count*sizeof(CvPoint2D32f);/分配内存给椭圆数据box = (CvBox2D32f *)malloc(sizeof(CvBox2D32f);/得到点集(这个方法值得借鉴)cvCvtSeqToArray(cont,PointArray,CV_WHOLE_SEQ);/将CvPoint点集转化为CvBox2D32f集合for (i=0;icenter.x);center.y = cvRound(box-center.y);size.width = cvRound(box-size.width*0.5);size.height = cvRound(box-size.height*0.5);box-angle = -box-angle;XXXX=center.x;YYYY=cente

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论