写一个C++程序,功能是调用opencv计算轮廓面积
时间: 2024-05-07 15:16:38 浏览: 164
基于Opencv的轮廓检出示例 C++编写
3星 · 编辑精心推荐
好的,这个问题是关于编程的,我可以为您解答。以下是一个简单的C程序,用于计算轮廓面积:
```
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv)
{
if (argc != 2)
{
printf("usage: ./contour_area <image_file>\n");
return -1;
}
Mat image = imread(argv[1], IMREAD_GRAYSCALE);
if (image.empty())
{
printf("could not load image file: %s\n", argv[1]);
return -1;
}
std::vector<std::vector<Point> > contours;
std::vector<Vec4i> hierarchy;
findContours(image, contours, hierarchy, RETR_EXTERNAL, CHAIN_APPROX_SIMPLE);
double area = 0.0;
for (size_t i = 0; i < contours.size(); i++)
{
area += contourArea(contours[i]);
}
printf("contour area: %f\n", area);
return 0;
}
```
请注意,这个程序需要使用OpenCV库,需要在编译时链接OpenCV库。如果您需要更详细的说明,请告诉我。
阅读全文