gpt4 book ai didi

c++ - 绘制矩形特定颜色 OpenCV

转载 作者:搜寻专家 更新时间:2023-10-31 01:44:52 24 4
gpt4 key购买 nike

我正在使用以下代码查找图像中的所有 Blob :

quad.convertTo(quad, CV_8UC1);
findContours( quad, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cv::Point(0, 0) );

vector<vector<cv::Point> > contours_poly( contours.size() );
vector<cv::Rect> boundRect( contours.size() );

for( int i = 0; i < contours.size(); i++ )
{ approxPolyDP( Mat(contours[i]), contours_poly[i], 3, true );
boundRect[i] = boundingRect( Mat(contours_poly[i]) );
}

Mat drawing = Mat::zeros( quad.size(), CV_8UC3 );
for( int i = 0; i< contours.size(); i++ )
{
Scalar color = Scalar( rng.uniform(0, 255), rng.uniform(0,255), rng.uniform(0,255) );
drawContours( drawing, contours_poly, i, color, 1, 8, vector<Vec4i>(), 0, cv::Point() );
rectangle( drawing, boundRect[i].tl(), boundRect[i].br(), color, 2, 8, 0 );
}

结果我得到了这个并且它似乎工作得很好,但是我怎样才能用亮绿色绘制所有边界框?有些是白色和黄色的,一种是绿色的。有什么办法可以让它们全部变绿吗? Blob 是被腐 eclipse 的文本。

enter image description here

最佳答案

rng.uniform 可能是 [0,255] 上的均匀随机律。所以你有随机颜色...

努力改变

 Scalar color = Scalar( rng.uniform(0, 255), rng.uniform(0,255), rng.uniform(0,255) );

对于

Scalar color = Scalar(0,255, 0 );

颜色使用 BGR 系统编码。 B=0 G=255 R=0 会变成绿色!

再见,

关于c++ - 绘制矩形特定颜色 OpenCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22947128/

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