findContours 寻找外围轮廓 c++
时间: 2023-11-30 19:41:53 浏览: 82
以下是使用C++中的findContours函数寻找外围轮廓的示例代码:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 读取图像
Mat src = imread("test.jpg");
// 转为灰度图像
Mat gray;
cvtColor(src, gray, COLOR_BGR2GRAY);
// 进行二值化处理
Mat binary;
threshold(gray, binary, 0, 255, THRESH_BINARY | THRESH_OTSU);
// 查找轮廓
vector<vector<Point>> contours;
vector<Vec4i> hierarchy;
findContours(binary, contours, hierarchy, RETR_EXTERNAL, CHAIN_APPROX_SIMPLE);
// 绘制轮廓
Mat result = Mat::zeros(src.size(), CV_8UC3);
for (size_t i = 0; i < contours.size(); i++)
{
drawContours(result, contours, i, Scalar(0, 0, 255), 2, 8, hierarchy);
}
// 显示结果
imshow("Result", result);
waitKey(0);
return 0;
}
```
阅读全文