tutorial_code\ShapeDescriptors\generalContours_demo1.cpp
步骤:
1、灰度化
2、滤波
3、二值化
4、画轮廓
findContours( threshold_output, contours, hierarchy, RETR_TREE, CHAIN_APPROX_SIMPLE, Point(0, 0) );
for( size_t i = 0; i< contours.size(); i++ )
{
Scalar color = Scalar( rng.uniform(0, 255), rng.uniform(0,255), rng.uniform(0,255) );
drawContours( drawing, contours_poly, (int)i, color, 1, 8, vector<Vec4i>(), 0, Point() );
}
5、画最小包围矩形和最小包围圆
第一步:
vector<vector<Point> > contours_poly( contours.size() );
vector<Rect> boundRect( contours.size() );
vector<Point2f>center(

这篇博客介绍了使用OpenCV进行图像处理的步骤,包括图像灰度化、滤波、二值化,然后利用findContours找到轮廓,并用drawContours绘制。接着,通过approxPolyDP计算近似多边形,boundingRect获取最小外接矩形,minEnclosingCircle找到最小包围圆。最后,将结果分别显示在图像上,展示了原图、轮廓图、最小外接矩形图和最小包围圆图。
最低0.47元/天 解锁文章
9939

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



