私はこれまで、あるポイント(cvPoint)が別のホールと同じ穴にあるかどうかを知る方法を見つけようとしました。私の解決策は、cvFindContours()の適用から得られたCvSeqを取得し、それらの穴を適切な色で塗りつぶして、ブロブのマトリックスを作成することでした。それが行われるとき、あるポイントが別のポイントと同じ輪郭に属しているかどうかを知ることは、ピクセル値を比較することだけですが、なぜそれが機能しないのか理解できません。
残念ながら、それは答えられていない質問であり、私はグーグルと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;
}
}