cv::findContours();得到子轮廓
时间: 2024-03-07 10:45:00 浏览: 76
Python通过OpenCV的findContours获取轮廓并切割实例
5星 · 资源好评率100%
cv::findContours() 是 OpenCV 库中的一个函数,用于在二值图像中查找轮廓。它可以帮助我们找到图像中的所有轮廓,并将其存储为一个轮廓向量。
使用 cv::findContours() 函数可以得到子轮廓的步骤如下:
1. 首先,需要创建一个二值图像,可以通过阈值化、边缘检测等方法得到。
2. 然后,创建一个空的轮廓向量,用于存储找到的轮廓。
3. 调用 cv::findContours() 函数,传入二值图像和轮廓向量作为参数。
4. 在函数调用后,轮廓向量将被填充上找到的轮廓信息。
5. 可以通过遍历轮廓向量来访问每个子轮廓的信息。
以下是一个示例代码,展示了如何使用 cv::findContours() 函数来获取子轮廓:
```cpp
cv::Mat binaryImage; // 二值图像
std::vector<std::vector<cv::Point>> contours; // 轮廓向量
// 阈值化或边缘检测等操作得到二值图像
cv::findContours(binaryImage, contours, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_SIMPLE);
// 遍历轮廓向量,访问每个子轮廓的信息
for (int i = 0; i < contours.size(); i++) {
std::vector<cv::Point> contour = contours[i];
// 处理子轮廓的代码
}
```
阅读全文