C++ opencv rectangle函数
时间: 2023-07-07 10:31:05 浏览: 104
`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) 两个点之间绘制了一个红色的矩形框。
相关问题
opencv rectangle函数C++
OpenCV中的rectangle函数可以用来在图像上绘制矩形。以下是其C++函数的定义:
```c++
void rectangle(InputOutputArray img, Point pt1, Point pt2, const Scalar& color, int thickness = 1, int lineType = LINE_8, int shift = 0);
void rectangle(InputOutputArray img, Rect rec, const Scalar& color, int thickness = 1, int lineType = LINE_8, int shift = 0);
```
其中,第一个函数将矩形的两个对角点作为参数传递,而第二个函数将矩形的左上角坐标和宽度、高度作为参数传递。
参数说明:
- `img`:输入/输出图像。
- `pt1`:矩形的一个顶点。
- `pt2`:矩形的对角顶点。
- `rec`:矩形的区域(左上角坐标和宽度、高度)。
- `color`:矩形的颜色。
- `thickness`:矩形的边框粗细,默认值为1。
- `lineType`:矩形的线型,默认值为LINE_8。
- `shift`:点坐标的小数点位数,默认值为0。
以下是一个使用rectangle函数绘制矩形的示例代码:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
// 创建一个黑色的图像
Mat img(500, 500, CV_8UC3, Scalar(0, 0, 0));
// 绘制一个红色的矩形
rectangle(img, Point(100, 100), Point(300, 300), Scalar(0, 0, 255), 3);
// 显示图像
imshow("image", img);
waitKey(0);
return 0;
}
```
上述代码将在一个500x500的黑色图像中绘制一个红色的矩形,边框宽度为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。
阅读全文