对于上图的二值化图像,要去除左下角和右上角的噪点,方法:使用opencv去掉黑色面积较小的连通域。 代码 CvSeq* contour = NULL; double minarea = 100.0; double tmparea = 0.0; CFileDialog dlg(true); if (dlg.DoModal()==IDOK) { CvMemStorage* storage = cvCreateMemStorage(0); IplImage* img_src= cvLoadImage(dlg.GetPathName(),CV_LOAD_IMAGE_ANYCOLOR); IplImage* img_Clone=cvCloneImage(img_src); //访问二值图像每个点的值 uchar *pp; //显示原始图像 cvNamedWindow("img_src",CV_WINDOW_AUTOSIZE); cvShowImage("img_src", img_src); IplImage* img_dst = cvCreateImage(cvGetSize(img_src),IPL_DEPTH_8U,1); //------------搜索二值图中的轮廓,并从轮廓树中删除面积小于某个阈值minarea的轮廓-------------// CvScalar color = cvScalar(255,0,0);//CV_RGB(128,0,0); CvContourScanner scanner = NULL; scanner = cvSt