opencv轮廓识别数据
时间: 2023-11-23 15:58:02 浏览: 105
VS C# OpenCV图像识别+文字打印
根据提供的引用内容,OpenCV中的轮廓识别是指在图像中找到物体的边界,然后将其转换为点集的过程。常用的函数是`findContours()`,它可以找到图像中的所有轮廓,并将它们存储在一个向量中。下面是一个简单的例子:
```cpp
Mat src = imread("image.jpg", 0);
Mat dst = Mat::zeros(src.size(), CV_8UC3);
vector<vector<Point>> contours;
vector<Vec4i> hierarchy;
findContours(src, contours, hierarchy, RETR_TREE, CHAIN_APPROX_SIMPLE);
for (size_t i = 0; i < contours.size(); i++) {
Scalar color = Scalar(rng.uniform(0, 256), rng.uniform(0, 256), rng.uniform(0, 256));
drawContours(dst, contours, i, color, 2, LINE_8, hierarchy, 0);
}
```
上述代码中,`findContours()`函数的第一个参数是输入图像,第二个参数是存储轮廓的向量,第三个参数是每个轮廓的属性,第四个参数是轮廓的检索模式,第五个参数是寻找轮廓时使用的近似算法。在这个例子中,我们使用了`drawContours()`函数将轮廓绘制在输出图像上。
阅读全文