当前位置:知识百问>百科问答>【opencv+VS】图片中找圆

【opencv+VS】图片中找圆

2024-10-02 06:54:25 编辑:join 浏览量:550

【opencv+VS】图片中找圆

#include

#include

#include

int main(int argc, char** argv)

{

IplImage* img = cvCreateImage = cvLoadImage("img.jpg");

if(img)

{

IplImage* gray = cvCreateImage(

cvGetSize(img), 8, 1 );

CvMemStorage* storage =

cvCreateMemStorage(0);

cvCvtColor( img, gray, CV_BGR2GRAY

);

cvSmooth( gray, gray, CV_GAUSSIAN,

9, 9 ); // smooth it, otherwise a lot of false circles //may be detected

CvSeq* circles = cvHoughCircles(

gray, storage, CV_HOUGH_GRADIENT, 2, gray->height/4, 200, 100 );

int i;

for( i = 0; i <

circles->total; i++ )

{

float*

p = (float*)cvGetSeqElem( circles, i );

cvCircle( img, cvPoint(cvRound(p),cvRound(p)), 3, CV_RGB(0,255,0), -1, 8,

0 );

cvCircle( img, cvPoint(cvRound(p),cvRound(p)), cvRound(p),

CV_RGB(255,0,0), 3, 8, 0 );

}

cvNamedWindow( "circles",

1 );

cvShowImage( "circles",

img );

cvWaitKey(0);

}

return 0;

}

这是未转换成yuv格式的,将输入的图像灰度化进行处理

如果想要转成yuv格式,调用cvCvtColor(img,yuv,CV_BGR2YUV);即可得到yuv格式图像,其中的y分量即为灰度图

标签:opencv,VS,图片

版权声明:文章由 知识百问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.zhshbaiwen.com/answer/371585.html
热门文章