gpt4 book ai didi

opencv - 如何围绕轮廓绘制矩形?

转载 作者:太空宇宙 更新时间:2023-11-03 21:22:41 25 4
gpt4 key购买 nike

我刚开始使用 opencv,我正在尝试制作一个程序,在一些沙子上的岩石图片周围放置正方形。函数的文档 here包括如何使用它的示例。

findContours( src, contours, hierarchy,
CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE );

findContours的原型(prototype)是

void findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int mode, int method, Point offset=Point()) ;

我有两个问题。
1. 例子中的第三个参数hierarchyvector<Vec4i>与 findContours 期望的类型不匹配。这是为什么?
2. 如何使用存储在contours中的数据?找到轮廓的位置以创建边界框?

最佳答案

std::vector<std::vector<cv::Point> > contours;
std::vector<cv::Vec4i> hierarchy;
cv::findContours( mask, contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_TC89_KCOS);
for ( size_t i=0; i<contours.size(); ++i )
{
cv::drawContours( img, contours, i, Scalar(200,0,0), 1, 8, hierarchy, 0, Point() );
cv::Rect brect = cv::boundingRect(contours[i]);
cv::rectangle(img, brect, Scalar(255,0,0));
}

关于opencv - 如何围绕轮廓绘制矩形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15590600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com