This an example on how to use morphological operator in OpenCV to close gaps.
int main(int argc, char* argv[])
{
IplImage *image;
IplImage *dilated_image;
IplImage *eroded_image;
image = cvLoadImage ("triangle.jpg");dilated_image = cvCloneImage (image);
eroded_image = cvCloneImage (image);cvNamedWindow ("Original", 1);
cvNamedWindow ("Dilated", 1);
cvNamedWindow ("Eroded", 1);cvShowImage ("Original", image);
cvDilate (image, dilated_image, 0, 7);
cvShowImage ("Dilated", dilated_image);cvErode (dilated_image, eroded_image, 0, 6);
cvShowImage ("Eroded", eroded_image);cvWaitKey ();
cvReleaseImage (&image);
cvDestroyWindow ("Original");
cvReleaseImage (&dilated_image);
cvDestroyWindow ("Dilated");
cvReleaseImage (&eroded_image);
cvDestroyWindow ("Eroded");return 0;
}
Daniel Tsadok
March 18, 2011 at 6:00 pm
This is really interesting, but which line is actually “fixing” the triangle? I don’t see anything that appears to be undoing the erode or the dilate…