我真的想保存多张图片,但我想用日期和时间作为文件名来命名。有人可以告诉我如何处理以下代码:
//Saving Image
Mat save_img; cap >> save_img;
char buffer[20];
char dateStr[20];
char timeStr[20];
_strdate(dateStr);
_strtime(timeStr);
if(save_img.empty())
{
std::cerr << "Something is wrong with the webcam, could not get frame." << std::endl;
}
// Save the frame into a file
sprintf(buffer,"Cap %s%s.jpg",dateStr,timeStr);
imwrite(buffer, save_img); // A JPG FILE IS BEING SAVED
}
上面的代码不会保存任何文件图像,因此它不能正常工作,但不知何故它编码正确。跑步时速度很慢,我不知道为什么。 这只是我正在处理的代码的一部分。如果你知道如何改进这个,请发表评论。
答案 0 :(得分:0)
我遇到了同样的问题并偶然发现了这篇Reddit帖子: http://www.reddit.com/r/learnpython/comments/1e4s39/opencv_cant_use_imwrite_dont_understand_error/
因此,为了在文件名中保存带日期和时间的文件,必须确保从字符串中删除所有“:”符号!
std::string filename;
std::replace(filename.begin(), filename.end(), ':', '_');