0

我真的很想保存多个图像,但我想使用日期和时间作为文件名来命名它。有人可以告诉我如何处理下面的代码:

//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

            }

上面的代码不保存任何文件图像,因此它不起作用,但不知何故它编码正确。跑的时候很慢,不知道为什么。这只是我正在处理的代码的一部分。如果您知道如何改进这一点,请发表评论。

4

1 回答 1

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(), ':', '_');
于 2014-11-28T18:38:37.393 回答