基于c++下opencv识别并框选红蓝板,并表示颜色的代码
时间: 2023-04-08 20:01:40 浏览: 75
以下是基于C++下OpenCV识别并框选红蓝板,并表示颜色的代码:
```
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat frame, hsv, mask_red, mask_blue;
VideoCapture cap(0);
if (!cap.isOpened())
{
cout << "Cannot open camera" << endl;
return -1;
}
while (true)
{
cap >> frame;
if (frame.empty())
break;
cvtColor(frame, hsv, COLOR_BGR2HSV);
inRange(hsv, Scalar(0, 70, 50), Scalar(10, 255, 255), mask_red);
inRange(hsv, Scalar(110, 70, 50), Scalar(130, 255, 255), mask_blue);
vector<vector<Point>> contours_red, contours_blue;
findContours(mask_red, contours_red, RETR_EXTERNAL, CHAIN_APPROX_SIMPLE);
findContours(mask_blue, contours_blue, RETR_EXTERNAL, CHAIN_APPROX_SIMPLE);
for (size_t i = 0; i < contours_red.size(); i++)
{
Rect rect = boundingRect(contours_red[i]);
rectangle(frame, rect, Scalar(0, 0, 255), 2);
putText(frame, "Red", Point(rect.x, rect.y - 5), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0, 0, 255), 2);
}
for (size_t i = 0; i < contours_blue.size(); i++)
{
Rect rect = boundingRect(contours_blue[i]);
rectangle(frame, rect, Scalar(255, 0, 0), 2);
putText(frame, "Blue", Point(rect.x, rect.y - 5), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(255, 0, 0), 2);
}
imshow("Frame", frame);
if (waitKey(1) == 27)
break;
}
return 0;
}
```
这段代码可以实现通过摄像头捕捉到的视频流,识别并框选出红色和蓝色的物体,并在框选区域上方显示出颜色名称。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)