gpt4 book ai didi

c++ - 在框架上绘制矩形

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

我正在尝试检测值高于 cvScalar(200,200,200) 的像素。

之后,我想使用 cv::rectangle 在所有这些像素上绘制一个矩形。任何人都可以帮助我如何做到这一点?

请看下图,它正是我想要做的。![图片]:http://technical-recipes.com/wp-content/uploads/2011/10/glove3.jpg

最佳答案

以下是我如何解决您的问题:

  1. 我使用 inRange 找到了所有需要的像素。
  2. 在此之后,我找到了所有轮廓。
  3. 然后我从所有这些轮廓构建了大轮廓。
  4. 最后找到这个大轮廓的boundingRect并画出来。

这是一段C++代码:

Mat src = imread("image.jpg"), mask;

const Scalar minScalar = Scalar(200, 200, 200);
const Scalar maxScalar = Scalar(255, 255, 255);

inRange(src, minScalar, maxScalar, mask);

vector<vector<Point2i> > contours;

findContours(mask, contours, CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE);

vector<Point2i> bigContour;
for (int i=0; i<contours.size(); i++)
{
for (int j=0; j<contours[i].size(); j++)
{
bigContour.push_back(contours[i][j]);
}
}

Rect rect = boundingRect(bigContour);
rectangle(src, rect, Scalar(255, 0, 255));

imshow("Image", src);
waitKey();

关于c++ - 在框架上绘制矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13896588/

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