IplImage* bin = cvCloneImage( gray );
cvAdaptiveThreshold( gray, bin, 255, CV_ADAPTIVE_THRESH_MEAN_C, 0, 101, 5 );
cvDilate( bin, bin, 0, 1 );
CvMemStorage* storage = cvCreateMemStorage(0);
CvContourScanner cs = cvStartFindContours( bin, storage, sizeof(CvContour), CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE );
CvSeq* sq = 0;
int i = 1;
do
{
sq=cvFindNextContour( cs );
if ( sq == NULL )
break;
CvRect rect = cvContourBoundingRect( sq ); // 外接矩形
double area = cvContourArea( sq ); // 轮廓线内区域面积
cvDrawContours( img, sq, CV_RGB(255, 0, 0), CV_RGB(0, 255, 0), 2 ); // 绘制轮廓线
i++;
}
while ( sq != 0 );
sq = cvEndFindContours( &cs );
cvReleaseMemStorage( &storage );
opencv找轮廓线并绘制轮廓线
最新推荐文章于 2025-02-20 20:40:06 发布