OpenCV C++ rectangle
时间: 2024-06-20 18:03:38 浏览: 145
OpenCV是一个流行的开源计算机视觉库,支持许多图像和视频处理功能。其中,rectangle函数是OpenCV库中用来绘制矩形的一个函数。该函数的C++语法如下:
```C++
void rectangle(InputOutputArray img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0);
```
其中各参数的含义如下:
- `img`:需要绘制矩形的图像。
- `pt1`:矩形的左上角点坐标。
- `pt2`:矩形的右下角点坐标。
- `color`:矩形的颜色。
- `thickness`:矩形线条的粗细,默认值为1。
- `lineType`:线条类型,默认值为8(表示8连通)。
- `shift`:坐标点小数点位数。
如果你想画一个以 (100, 100) 为左上角坐标,(200, 200) 为右下角坐标,颜色为红色(BGR 中的 (0, 0, 255)),线条粗细为3像素的矩形,你可以这样写:
```C++
Mat img = imread("your_image.jpg");
rectangle(img, Point(100, 100), Point(200, 200), Scalar(0, 0, 255), 3);
```
相关问题
opencv rectangle c++
可以使用 OpenCV 中的 rectangle 函数来绘制矩形。该函数的语法如下:
void rectangle(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=);
其中,img 表示要绘制矩形的图像,pt1 和 pt2 分别表示矩形的左上角和右下角坐标,color 表示矩形的颜色,thickness 表示矩形边框的粗细,lineType 表示边框的类型,shift 表示坐标点的小数位数。
例如,下面的代码可以在一张图像上绘制一个红色的矩形:
Mat img = imread("test.jpg");
rectangle(img, Point(100, 100), Point(200, 200), Scalar(, , 255), 2);
这个矩形的左上角坐标为 (100, 100),右下角坐标为 (200, 200),颜色为红色,边框粗细为 2。
C++ opencv rectangle函数
`cv::rectangle` 函数可以在图像上绘制矩形框。
函数原型为:
```cpp
void cv::rectangle(InputOutputArray img, Point pt1, Point pt2, const Scalar& color, int thickness = 1, int lineType = LINE_8, int shift = 0)
```
其中,参数含义如下:
- `img`:输入/输出图像。
- `pt1`:矩形左上角的点。
- `pt2`:矩形右下角的点。
- `color`:矩形框的颜色,可以是一个 `Scalar` 类型的参数,也可以是一个 `cv::Scalar(x, y, z)` 形式的参数。
- `thickness`:矩形框的线宽。
- `lineType`:线条类型。
- `shift`:点坐标的小数部分位数。
示例代码:
```cpp
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat image = imread("test.jpg");
rectangle(image, Point(50, 50), Point(150, 150), Scalar(0, 0, 255), 2);
imshow("image", image);
waitKey(0);
return 0;
}
```
这段代码在图片的 (50, 50) 和 (150, 150) 两个点之间绘制了一个红色的矩形框。
阅读全文