2024年3月30日发(作者:)
#include
#include
#include
int main(int argc,char**argv)
{
IplImage*img;
if(argc==2&&(img=cvLoadImage(argv[1],1))!=0)
{
IplImage* gray=cvCreateImage(cvGetSize(img),8,1);
CvMemStorage* storage=cvCreateMemStorage(0);
cvCvtColor(img,gray,CV_BGR2GRAY);
cvSmooth(gray,gray,CV_GAUSSIAN,9,9);
CvSeq*
circles=cvHoughCircles(gray,storage,CV_HOUGH_GRADIENT,2,gray->height/4,200
,100);
int i;
for(i=0;i
{
float* p=(float*)cvGetSeqElem(circles,i);
cvCircle(img,cvPoint(cvRound(p[0]),cvRound(p[1])),3,CV_RGB(0,255,0),-1,8,0);
cvCircle(img,cvPoint(cvRound(p[0]),cvRound(p[1])),cvRound(p[2]),CV_RGB(255,0,0)
,3,8,0);
}
cvNamedWindow("circles",1);
cvShowImage("circles",img);
cvWaitKey(0);
}
return 0;
}
#include
#include
#include
int main(int argc,char**argv)
{
IplImage*img;
if(argc==2&&(img=cvLoadImage(argv[1],1))!=0)
{
IplImage* gray=cvCreateImage(cvGetSize(img),8,1);
CvMemStorage* storage=cvCreateMemStorage(0);
cvCvtColor(img,gray,CV_BGR2GRAY);
cvSmooth(gray,gray,CV_GAUSSIAN,9,9);
CvSeq*
circles=cvHoughCircles(gray,storage,CV_HOUGH_GRADIENT,2,gray->height/4,200
,100);
int i;
for(i=0;i
{
float* p=(float*)cvGetSeqElem(circles,i);
cvCircle(img,cvPoint(cvRound(p[0]),cvRound(p[1])),3,CV_RGB(0,255,0),-1,8,0);
cvCircle(img,cvPoint(cvRound(p[0]),cvRound(p[1])),cvRound(p[2]),CV_RGB(255,0,0)
,3,8,0);
}
cvNamedWindow("circles",1);
cvShowImage("circles",img);
cvWaitKey(0); //加这句话,不然图像会一闪而过
}
return 0;
}


发布评论