opencv 清除绘图c++
时间: 2023-07-07 20:37:57 浏览: 135
在 C++ 中清除 OpenCV 中的绘图,可以使用 `cv::Mat` 类型的图像,然后将其重置为全 0 矩阵,即可清除绘图。具体实现步骤如下:
1. 在绘图完成后,创建一个 `cv::Mat` 类型的图像。
2. 在图像上绘制需要绘制的图形。
3. 如果需要清除绘图,则将图像重置为全 0 矩阵。
4. 最后,通过 `imshow()` 函数显示图像。
以下是代码示例:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
// 创建一个黑色的图像
Mat img = Mat::zeros(512, 512, CV_8UC3);
// 在图像上绘制一个矩形
rectangle(img, Point(384, 0), Point(510, 128), Scalar(0, 255, 0), 3);
// 显示图像
imshow("image", img);
// 等待用户输入
int key = waitKey(0);
// 如果用户按下 "c" 键,则清除绘图
if (key == 'c')
{
img = Mat::zeros(512, 512, CV_8UC3);
imshow("image", img);
}
// 关闭窗口
destroyAllWindows();
return 0;
}
```
注意,在 C++ 中,需要使用 `waitKey()` 函数来等待用户输入,并且需要检查返回值来确定用户按下了哪个键。同时,需要使用 `destroyAllWindows()` 函数来关闭所有的窗口。
阅读全文