c++ opencv 画矩形
时间: 2023-07-05 20:28:47 浏览: 114
你可以使用 OpenCV 中的 `rectangle()` 函数绘制矩形。这个函数有以下参数:
- `img`:要绘制矩形的图像。
- `pt1`:矩形的左上角点。
- `pt2`:矩形的右下角点。
- `color`:矩形的颜色。
- `thickness`:矩形边框的粗细,默认值为1。
- `lineType`:线条的类型,默认值为8。
以下是一个简单的示例代码:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat img = imread("test.jpg");
Point pt1(100, 100);
Point pt2(200, 200);
Scalar color(0, 0, 255);
int thickness = 2;
int lineType = LINE_8;
rectangle(img, pt1, pt2, color, thickness, lineType);
imshow("Image", img);
waitKey(0);
return 0;
}
```
这个代码会读取名为 "test.jpg" 的图像,绘制一个左上角为 (100,100),右下角为 (200,200) 的红色矩形,并显示结果图像。
相关问题
c++的opencv 画矩形
使用 OpenCV 在 C++ 中画矩形可以使用 `cv::rectangle` 函数,该函数的原型如下:
```
void cv::rectangle(
InputOutputArray img, // 输入的图像
Point pt1, // 矩形的左上角点
Point pt2, // 矩形的右下角点
const Scalar& color, // 矩形的颜色
int thickness = 1, // 矩形边框的粗细,默认为 1
int lineType = LINE_8,// 矩形边框的类型,默认为 8 连通线
int shift = 0 // 坐标点的小数点位数,默认为 0
);
```
下面是一个简单的例子,演示了如何使用 `cv::rectangle` 函数在图像上画一个红色的矩形:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat img = imread("test.jpg");
Point pt1(100, 100);
Point pt2(200, 200);
Scalar color(0, 0, 255); // BGR 颜色值,这里是红色
int thickness = 2;
rectangle(img, pt1, pt2, color, thickness);
imshow("image", img);
waitKey(0);
return 0;
}
```
运行结果如下图所示:
![opencv_rectangle](https://i.imgur.com/2L5qZ4m.jpg)
用c++使用opencv画矩形
以下是一个用C++编写的使用OpenCV画矩形的程序:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
// 读取图像
Mat img = imread("example.jpg");
// 定义矩形的顶点坐标
Point pt1(100, 100);
Point pt2(200, 200);
// 绘制矩形
rectangle(img, pt1, pt2, Scalar(0, 255, 0), 2);
// 显示图像
imshow("image", img);
waitKey(0);
destroyAllWindows();
return 0;
}
```
这个程序使用了OpenCV的 `Mat` 类型来读取图像,并使用 `rectangle()` 函数画出了一个矩形。需要注意的是,OpenCV中的矩形坐标是用 `Point` 类型表示的,所以我们需要使用 `Point` 类型来定义矩形的顶点坐标。最后,我们使用 `imshow()` 函数显示图像,并使用 `waitKey()` 函数等待用户按下按键后再关闭窗口。
阅读全文