Opencv cvDrawContours not working
Opencv cvDrawContours not working
我尝试用CvPoint矢量绘制轮廓,同时使用cvDrawContours,它不会在图像上绘制轮廓,但cvDrawRect工作完美。请说明以下代码是否有错误
IplImage *iplMaskKeyPoints = cvCreateImage(cvGetSize(iplObjGrey),iplObjGrey->depth,1);
CvMemStorage *msObjImgStorage = cvCreateMemStorage(0);
CvSeq* sqObjImgPoly = cvCreateSeq(CV_32SC2, sizeof(CvSeq), sizeof(CvPoint), msObjImgStorage );
cvZero(iplMaskKeyPoints);
for(int i = 0; i < (int)vecObjPoly.size(); i++ )
{
CvPoint pt = vecObjPoly[i];
cvSeqPush(sqObjImgPoly, &pt );
}
cvDrawContours(iplMaskKeyPoints,sqObjImgPoly,cvScalar(255,255,255),cvScalar(255,255,255),1,CV_FILLED);
cvShowImage("output",iplMaskKeyPoints);
cvWaitKey(0);
if(sqObjImgPoly != NULL)
{
cvClearSeq(sqObjImgPoly);
sqObjImgPoly = NULL;
}
if(msObjImgStorage != NULL)
{
cvClearMemStorage(msObjImgStorage);
cvReleaseMemStorage(&msObjImgStorage);
}
vecObjPoly.clear();
cvReleaseImage(&iplMaskKeyPoints);
我已经运行了这段代码,但这里有3行cvCreateSeq第一个参数请添加这个标志CV_SEQ_KIND_CURVE来绘制轮廓
像这样替换第3行
CvSeq* sqObjImgPoly = cvCreateSeq( CV_32SC2 | CV_SEQ_KIND_CURVE, sizeof(CvSeq), sizeof(CvPoint), msObjImgStorage );
相关文章:
- GDB - strcmp not working: __strcmp_sse2_unaligned
- QT qScriptConnect is not working
- QDesktopServices::openUrl() not working Qt
- "Configure: Error: Could Not Find a Working Compiler, See config.log For Details"
- C++ std::set ordering not working with customer class*
- C++ SetWindowText not working
- visual studio 2012 c++ hello world - iostream not working
- getGravity not working?
- Opencv findcontours CV_RETR_EXTERNAL not working
- c++ srand() not working
- std::queue::empty() not working?
- BCB swprintf not working
- 将类型作为指向另一个类的对象的指针的泛型类-NOT WORKING
- LoadLibrary is not working
- gluUnProject not working
- C++ catch bad_alloc not working
- updatelayeredwindow not working
- OpenMP set_num_threads() is not working
- glOrtho not working
- Cuda atomicInc not working