opencv中用c++画矩形框
时间: 2024-11-06 12:18:59 浏览: 26
在OpenCV(Open Source Computer Vision Library)中,使用C++语言绘制矩形框通常涉及以下几个步骤:
1. 引入必要的库:
```cpp
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
```
2. 初始化图像窗口:
```cpp
cv::Mat img = cv::imread("image.jpg"); // 读取图片
if (img.empty()) {
std::cout << "Failed to load image." << std::endl;
return;
}
cv::namedWindow("Image", cv::WINDOW_NORMAL);
```
3. 定义矩形的坐标(x, y)以及宽和高:
```cpp
int x = 50; // 左上角x坐标
int y = 75; // 左上角y坐标
int width = 100; // 矩形宽度
int height = 50; // 矩形高度
```
4. 使用`rectangle`函数绘制矩形:
```cpp
cv::rectangle(img, cv::Point(x, y), cv::Point(x + width, y + height), // 矩形顶点坐标
cv::Scalar(0, 0, 255), // 颜色,默认红色
2); // 线条粗细,这里设置为2像素
```
5. 显示图像:
```cpp
cv::imshow("Image", img);
cv::waitKey(0); // 按任意键暂停显示,然后关闭窗口
```
完整代码示例:
```cpp
#include <opencv2/opencv.hpp>
int main() {
cv::Mat img = cv::imread("image.jpg");
if (img.empty()) {
std::cout << "Failed to load image." << std::endl;
return -1;
}
int x = 50, y = 75, width = 100, height = 50;
cv::rectangle(img, cv::Point(x, y), cv::Point(x + width, y + height),
cv::Scalar(0, 0, 255), 2);
cv::namedWindow("Image", cv::WINDOW_NORMAL);
cv::imshow("Image", img);
cv::waitKey(0);
cv::destroyAllWindows();
return 0;
}
阅读全文