Opencv识别圆,矩形,三角形的步骤

步骤如下:


0.通过摄像头或是加载图片的方式获取到源图;
1.将RGB图像转为HSV图像并取H通道的图片进行处理;
2.调节HSV的值,通过getStructuringElement函数去除一些噪点,通过morphologyEx函数连接一些连通域;
3.通过第2步的操作得到只保留与目标形状相近部分的图片;
4.通过cvFindContours函数检测所有轮廓;
5.通过GetAreaMaxContour函数找到最大的轮廓;
6.如果是圆,通过cvDrawContours函数画出轮廓;如果是矩形或是三角形,通过cvApproxPoly函数进行多边形逼近;
7.如果是圆的话,用handlecicle函数进行识别,参数根据实际图片进行调节。矩形与三角形的判断方法可参考网上的,网上有!


注意事项:
A.本人使用OPENCV中的cvQueryFrame函数时,发现是摄像头的上一张图片,第二次才是当前图片,在查了很多资料未果的情况下,我只能调用两次cvQueryFrame函数,有解决方法的可以给我留言,感谢!
B.慎用CvMemStorage函数,每次调用都会申请内存的,要记得通过cvReleaseMemStorage函数释放,不然会导致内存不断增加。

你可能感兴趣的:(Opencv,识别,圆,矩形,三角形,Opencv)