网站大量收购闲置独家精品文档,联系QQ:2885784924

图像轮廓提取.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图像轮廓提取

OpenCV笔记9:提取并显示图像轮廓 01 #include cv.h 02 #include cxcore.h 03 #include highgui.h 04 #include iostream.h 05 void main() 06 { 07 int i=0; 08 int mode=CV_RETR_CCOMP;??????? //提取轮廓的模式 09 int contoursNum=0;??????????? //提取轮廓的数目 10 CvScalar externalColor; 11 CvScalar holeColor; 12 CvMemStorage * storage=cvCreateMemStorage(0);??? //提取轮廓需要的储存容量 0为默认64KB 13 CvSeq * pcontour=0;? //提取轮廓的序列指针 14 IplImage * pImg=NULL; 15 IplImage * pContourImg=NULL; 16 IplImage * src=cvLoadImage(pic3.png,-1); 17 pImg=cvCreateImage(cvGetSize(src),src-depth,1); 18 pContourImg=cvCreateImage(cvGetSize(pImg),IPL_DEPTH_8U,3); 19 cvCvtColor(src,pImg,CV_RGB2GRAY);??? //将图像转换为灰度 20 cvNamedWindow(src,CV_WINDOW_AUTOSIZE); 21 cvNamedWindow(pcontour,CV_WINDOW_AUTOSIZE); 22 cvShowImage(src,src); 23 cvThreshold(pImg,pImg,180,255,CV_THRESH_BINARY);??? //二值化 24 //--------------查找轮廓---------------- 25 mode=CV_RETR_LIST; 26 contoursNum=cvFindContours(pImg,storage,? pcontour,sizeof(CvContour),mode,CV_CHAIN_APPROX_NONE); 27 coutcontoursNum endl; 28 //--------------画轮廓---------------- 29 for (;pcontour!=0;pcontour=pcontour-h_next) 30 { 31 holeColor=CV_RGB(rand()255,rand()255,rand()255); 32 externalColor=CV_RGB(rand()255,rand()255,rand()255); 33 cvDrawContours(pContourImg,pcontour,externalColor,holeColor,1,2,8); 34 } 35 cvShowImage(pcontour,pContourImg); 36 cvWaitKey(0); 37 cvReleaseImage(src); 38 cvReleaseImage(pImg); 39 cvReleaseImage(pContourImg); 40 } ========================================================== ========================================================== cvFindContours原型: int cvFindContours( CvArr* image, CvMemStorage* storage, CvSeq** first_contour, int header_size=sizeof(CvContour), int mode=CV_RETR_LIST, int method=CV_CHAIN_APPROX_SIMPLE, CvPoint ōffset=cvPoint(0,0) ); image 输入的 8-比特、单通道图像。为了从灰度图像中得到这样的二值图像,可以使用 cvThreshold、cvAdaptiveThreshold 或 cvCanny,改变输入图像内容。 storage 得到的轮廓的存储容器 first_contour 输出参数:包含第一个输出轮廓的指针 header_size 如果 method=CV_CHAIN_CODE,则序列头的大小 =sizeof(CvChain),否则 =sizeof(CvContour)。

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档