在框架上绘制矩形
Drawing rect on a frame
我正在尝试检测值高于cvScalar(200,200,200)
的像素。
之后,我想使用 cv::rectangle
在所有这些像素上绘制一个矩形。谁能帮我怎么做?
看到下面的这个图,这正是我想做的。![ 图片 ] : http://technical-recipes.com/wp-content/uploads/2011/10/glove3.jpg
这是我解决您的问题的方法:
- 我使用
inRange
找到了所有需要的像素。 - 在此之后,我找到了所有轮廓。
- 然后我用所有这些轮廓构建了大轮廓。
- 最后,找到这个大轮廓
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();
相关文章:
- QuadTree只在窗口的右上角绘制
- 绘制旋转的三角形
- 在没有Xcode的情况下在Mac捆绑包中嵌入框架
- flutter:即使shouldRepaint()返回true,自定义画家也不会重新绘制
- catch框架有没有办法比较流或文件
- 如何在QT中的自定义视频小工具t上绘制矩形
- 如何将不同的可执行文件合并到一个窗口框架中进行编码?像浏览器一样
- 如何在Visual Basic中使用矩形函数OpenGL绘制矩形
- 无法使用VAO和EBO(openGL)绘制多个对象
- 为什么我的点没有在 OpenGL 中绘制鼠标所在的位置?
- 使用Qt框架在c ++类中创建API调用
- 绘制顺时针三角形,重新排序点
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- 如何在ECS框架中更新组件数据和通知系统
- 用于在C++中绘制生成的迷宫的简单框架
- 如何在QT中的框架上绘制
- 在框架上绘制矩形
- 在框架上使用 OpenCV 绘制矩形
- 如何在不使用任何框架或库的情况下在屏幕上绘制图形
- 开放框架:绘制函数被多次调用