c++版opencv如何调用轮廓的外接矩形
时间: 2023-09-10 08:05:03 浏览: 174
在C++版的OpenCV中,可以使用`boundingRect`函数来计算轮廓的外接矩形。
具体步骤如下:
1. 通过`findContours`函数找到图像中的轮廓。
2. 对每个轮廓,使用`boundingRect`函数计算其外接矩形。
以下是示例代码:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 读入图像
Mat img = imread("contours.jpg", IMREAD_GRAYSCALE);
// 提取轮廓
vector<vector<Point>> contours;
findContours(img, contours, RETR_EXTERNAL, CHAIN_APPROX_SIMPLE);
// 对每个轮廓计算外接矩形并绘制
Mat result = img.clone();
for (int i = 0; i < contours.size(); i++)
{
Rect rect = boundingRect(contours[i]);
rectangle(result, rect, Scalar(255), 2);
}
// 显示结果
imshow("result", result);
waitKey(0);
return 0;
}
```
其中,`imread`函数用于读入图像,`findContours`函数用于提取轮廓,`boundingRect`函数用于计算外接矩形,`rectangle`函数用于绘制矩形,`imshow`函数用于显示结果。
阅读全文