opencv在图片中绘制矩形,C++
时间: 2024-05-12 11:14:31 浏览: 7
在 OpenCV 中,我们可以使用 `cv::rectangle` 函数在图片中绘制矩形。下面是一个简单的例子:
```c++
#include <opencv2/opencv.hpp>
int main() {
// 读取图片
cv::Mat img = cv::imread("test.jpg");
// 定义矩形的位置和大小
cv::Rect rect(50, 50, 200, 150);
// 绘制矩形
cv::rectangle(img, rect, cv::Scalar(0, 0, 255), 2);
// 显示图片
cv::imshow("Image", img);
cv::waitKey(0);
return 0;
}
```
在这个例子中,我们首先使用 `cv::imread` 函数读取一张图片,然后定义一个 `cv::Rect` 类型的变量 `rect`,表示矩形的位置和大小。接着,我们使用 `cv::rectangle` 函数在图片上绘制矩形,其中第一个参数是要绘制的图片,第二个参数是矩形的位置和大小,第三个参数是矩形的颜色(这里是红色),最后一个参数是线条的宽度。
最后,我们使用 `cv::imshow` 函数显示图片,并使用 `cv::waitKey` 等待用户按下键盘。
相关问题
opencv如何绘制矩形框 C++
在OpenCV中,可以使用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 // 矩形框坐标点的小数位数
);
```
下面是一个简单的例子,演示如何使用cv::rectangle函数绘制矩形框:
```cpp
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
// 读取图像
Mat img = imread("test.jpg");
// 绘制矩形框
Point pt1(50, 50); // 左上角点
Point pt2(150, 150); // 右下角点
Scalar color(0, 0, 255); // 红色
int thickness = 2; // 线宽
rectangle(img, pt1, pt2, color, thickness);
// 显示图像
imshow("image", img);
waitKey(0);
return 0;
}
```
在该例子中,我们首先读取了一张图像,然后使用cv::rectangle函数绘制了一个左上角为(50,50),右下角为(150,150)的红色矩形框。最后显示图像并等待用户按下任意键退出程序。
opencv 填充矩形 c++
使用 OpenCV 中的 `cv::rectangle` 函数可以绘制矩形并填充颜色。以下是一个简单的示例代码:
```c++
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
// 创建一个黑色的图像
Mat img = Mat::zeros(512, 512, CV_8UC3);
// 绘制矩形并填充颜色
rectangle(img, Point(384, 0), Point(510, 128), Scalar(0, 255, 0), -1);
// 显示图像
imshow("Rectangle", img);
waitKey(0);
destroyAllWindows();
return 0;
}
```
在上面的代码中,我们创建了一个大小为 512x512 的黑色图像,并使用 `cv::rectangle` 函数在图像上绘制了一个矩形,并填充了颜色。`cv::rectangle` 函数的参数说明如下:
- `img`: 要绘制矩形的图像
- `Point(x1, y1)`: 矩形的左上角坐标
- `Point(x2, y2)`: 矩形的右下角坐标
- `Scalar(b, g, r)`: 矩形的填充颜色,以 BGR 格式指定
- `-1`: 矩形的线宽,如果该值为负数,则会填充矩形。
你可以根据需要调整以上参数的值来绘制不同颜色和大小的矩形。