int _tmain(int argc, _TCHAR* argv[]) {
IplImage *image = cvLoadImage("LenaGr.jpg", 0);
CvMemStorage *storage = cvCreateMemStorage(0);
cvSmooth(image, image, CV_GAUSSIAN, 5, 5);
CvSeq *results = cvHoughCircles(
image,
storage,
CV_HOUGH_GRADIENT,
2,
image -> width / 10
);
for(int i = 0; i < results -> total; i++) {
float *p = (float *) cvGetSeqElem(results, i);
CvPoint pt = cvPoint(cvRound(p[0]), cvRound(p[1]));
cvCircle(
image,
pt,
cvRound(p[2]),
CV_RGB(0xff, 0xff, 0xff)
);
}
cvNamedWindow("Test", CV_WINDOW_AUTOSIZE);
cvShowImage("Test", image);
cvWaitKey(0);
cvReleaseImage(&image);
cvDestroyWindow("Test");
return 0;
}cvHoughCircles
最新推荐文章于 2022-08-13 18:40:24 发布
本文介绍了一个使用OpenCV库进行图像处理的例子,通过高斯平滑减少噪声,并运用霍夫变换检测图像中的圆形。代码展示了从加载图像到显示检测结果的全过程。
753

被折叠的 条评论
为什么被折叠?



