OpenCV几个函数用法(笔记)
来源:互联网 发布:python分析日志文件 编辑:程序博客网 时间:2024/05/24 01:44
CvPoint *cvPtArr = new CvPoint[ptNumo];
for (int i=0; i<ptNumo; i++)
{
cvPtArr[i].x = (int)(xo[i]+0.5f);
cvPtArr[i].y = (int)(yo[i]+0.5f);
}
CvMat *mat = cvCreateMat(nWholeImgH-1, nWholeImgW-1, CV_8U);
cvFillPoly(mat, &cvPtArr, &ptNumo, 1, CV_RGB(10,10,10));cvFlip(mat);
CvSeq * cont = 0;
CvMemStorage *stor = cvCreateMemStorage(0);
cont = cvCreateSeq(CV_SEQ_ELTYPE_POINT, sizeof(CvSeq), sizeof(CvPoint), stor);
int Number_Object = cvFindContours( mat, stor, &cont, sizeof(CvContour),
CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0) ); //找到所有轮廓/CV_RETR_CCOMP/CV_RETR_LIST
CvSeq * contD = 0;
CvMemStorage *storD = cvCreateMemStorage(0);
contD = cvCreateSeq(CV_SEQ_ELTYPE_POINT, sizeof(CvSeq), sizeof(CvPoint), storD);
CvPoint pttmp;
CDC *pDC = GetDC();
for(;cont;cont = cont->h_next)
{
cvDrawContours( mat, cont, CV_RGB(155, 155, 155), CV_RGB(0, 0, 0), 0, -1, 8, cvPoint(0, 0));
for ( int k=0; k<cont->total; k++ )
{
pttmp = *(CvPoint*)cvGetSeqElem(cont, k);
pDC->SetPixel(pttmp.x, pttmp.y, RGB(0,0,255));
}
//cvApproxPoly()
//mcont=cvApproxPoly(cont,sizeof(CvContour),mstor,CV_POLY_APPROX_DP,cvContourPerimeter(cont)*0.02,0);
contD = cvApproxPoly(cont, sizeof(CvContour), storD, CV_POLY_APPROX_DP,1.0,1);//cvContourPerimeter(cont)*
cvDrawContours(mat,contD,CV_RGB(255,0,0),CV_RGB(0,0,255),1,2,8,cvPoint(0,0));
//contD = cvFindDominantPoints(cont, storD);
for ( int k=0; k<contD->total; k++ )
{
pttmp = *(CvPoint*)cvGetSeqElem(contD, k);
pDC->SetPixel(pttmp.x, pttmp.y, RGB(0,255,255));
}
}//cvFindDominantPoints()
cvNamedWindow("Show_Result");
cvShowImage("Show_Result", mat);
delete []cvPtArr;
另,cvFindContours使用注意事项:
cvFindContours可以提取单像素区域边界,但若改单像素处于图像边缘则提取会断开,即会被分成多个边界,如下影像会提取两个边界
- OpenCV几个函数用法(笔记)
- opencv几个函数
- stack(栈)几个函数的用法
- 几个函数的用法
- openCV 几个位运算函数
- opencv的几个基础函数
- 【OpenCV学习笔记】【函数学习】十四(cvSeq的用法说明(功能很多,按照需求使用))
- OpenCV 函数用法
- Opencv函数用法详解
- opencv 函数用法
- C++ / Opencv 学习笔记 (Vector用法 )
- 图像处理中几个常用函数(Opencv实现)
- 几个重要函数的用法
- STL 几个函数的用法
- 几个MATLAB函数的用法
- oraacle 几个函数的用法
- openCV学习笔记(4)--cvSmooth函数
- OPENCV学习笔记(二) 聚合函数
- Android四大组件
- 杭电 Identity Card
- Android.mk简介
- 深入理解Android系列书籍的规划路线图
- 将string转换成char*
- OpenCV几个函数用法(笔记)
- 同志们还在为忘记mysql密码而烦恼吗?别急了,快看吧,从此让mysql没有密码(已尝试)
- 凯撒密码
- gcc选项的总结
- scrumgathering 2012参会小结
- Android下的Gallery显示技术分析(二)
- 收集oracle统计信息2
- 试玩Apache Commons之IMAPMail
- 好朋友-数组(修正版)