最近在用OpenCV做一个项目,查找cvBoundingRect时候没有找到比较好的例子,在此为了方便大家,贴出一段代码利用cvBoundingRect的例子。
CvMemStorage* storage1 = cvCreateMemStorage( 0 );
CvSeq* contour = NULL;
IplImage *imgTemp = cvCloneImage( dilateImage );
cvFindContours( imgTemp, storage1, &contour, sizeof( CvContour ), CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE);
int ContoursCount = 0;
IplImage *TrangleImage = cvCloneImage(inTopView);
int height =TrangleImage->height;
int width =TrangleImage->width;
int step =TrangleImage->widthStep;
int channels=TrangleImage->nChannels;
outCarSegment.CarRect.clear();
for( ; contour != NULL; contour = contour -> h_next)
{
CvRect rect = cvBoundingRect(contour, 0);
if (rect.width > 20 && rect.height > 20)
{
cvRectangle( TrangleImage, cvPoint( rect.x, rect.y ),cvPoint( rect.x + rect.width, rect.y + rect.height ), CV_RGB(255,0,0), 1,