我到目前为止已经试图找到一种方法来知道,如果一个点(cvPoint)是在同一个孔比另一个。我的解决方案是从cvFindContours()的应用中获取CvSeq,并用适当的颜色填充这些空洞以获得blob矩阵。 当会做,知道,如果一个点属于同一轮廓比另一点只包含在比较像素值,但我想不出为什么它不工作。OpenCV中得到点
不幸的是,这是谁的没有回答一个问题,我花了很多时间在谷歌和StackOverflow上(或者也许我寻找的关键词非常糟糕)。希望有人有线索;)
IplImage *imgTemp = cvCreateImage(cvGetSize(getMorph()), (getMorph())->depth, 1);
CvMemStorage *mem = cvCreateMemStorage();
cvConvertImage(getMorph(), imgTemp);
CvSeq *contours = NULL;
cvFindContours(imgTemp, mem, &contours, sizeof(CvContour), CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE);
int colIt=255;
for (CvSeq *ptr = contours; ptr != NULL; ptr = ptr->h_next) {
if(ptr->v_next != NULL)
{
CvScalar color = CV_RGB(colIt,colIt,colIt);
cvDrawContours(imgTemp, ptr->v_next, color, color, -1, CV_FILLED, 100);
--colIt;
}
}