例6-1 使用cvHoughCircles返回在灰度图中找到的圆序列

来源:互联网 发布:航空业行业数据 编辑:程序博客网 时间:2024/05/18 15:55

#include "cv.h"#include "highgui.h"#include "math.h"int main(){ IplImage* image = cvLoadImage("3.png",CV_LOAD_IMAGE_GRAYSCALE); CvMemStorage* storage =cvCreateMemStorage(0); cvSmooth(image, image, CV_GAUSSIAN, 5, 5); CvSeq* results = cvHoughCircles(image, storage,CV_HOUGH_GRADIENT, 2,                                image->width/10); for(inti=0; itotal; i++){  float* p =(float*)cvGetSeqElem(results, i);  CvPoint pt =cvPoint(cvRound(p[0]), cvRound(p[1]));  cvCircle(image, pt,cvRound(p[2]), CV_RGB(0x00, 0xff, 0x00)); } cvNamedWindow("cvHoughCircles"); cvShowImage("cvHoughCircles", image); cvWaitKey(0); return 0;}