c++ opencv写图片根据系统时间生成
时间: 2023-08-04 08:29:03 浏览: 339
利用opencv 创建图片
你可以使用C++中的OpenCV库和chrono库来生成根据系统时间命名的图片。下面是一个示例代码:
```c++
#include <opencv2/opencv.hpp>
#include <chrono>
#include <ctime>
int main()
{
// 获取当前时间
auto now = std::chrono::system_clock::now();
auto time = std::chrono::system_clock::to_time_t(now);
std::string time_str = std::ctime(&time);
// 创建一个空的图片
cv::Mat img = cv::Mat::zeros(cv::Size(512, 512), CV_8UC3);
// 在图片上添加文本
cv::putText(img, time_str, cv::Point(100, 256), cv::FONT_HERSHEY_SIMPLEX, 2, cv::Scalar(255, 255, 255), 2);
// 保存图片
std::string filename = time_str;
std::replace(filename.begin(), filename.end(), ' ', '_'); // 替换空格为下划线
std::replace(filename.begin(), filename.end(), ':', '-'); // 替换冒号为短横线
cv::imwrite(filename + ".jpg", img);
return 0;
}
```
这段代码首先获取当前时间并将其转换为一个字符串,然后创建一个空的图片并在其上添加文本。最后,使用OpenCV的imwrite函数将图片保存到磁盘上,文件名为当前时间字符串加上".jpg"后缀。注意,由于文件名不能包含空格和冒号等特殊字符,因此需要使用std::replace函数将它们替换为合适的字符。
阅读全文