使用qdatetime-无法将图像写入路径

时间:2018-07-21 12:24:56

标签: c++ qt opencv

我的目标是保存图像(opencv 2.4.13),并在图像名称中包含当前日期时间(类似:current-datetime.jpg)。我试过下面的代码-

string d_t = 
QDateTime::currentDateTime().toString(Qt::ISODate).toLocal8Bit().constData();
string output_file = 
"F:\\WorkSpace\\QtPractice\\resource\\face_db\\"+d_t+".jpg";
cv::imwrite(output_file, image);
cout << output_file << endl; //  to check the file location

但我的目标位置什么也没得到。

当我尝试下面的代码来检查保存图像是否正常时-

string d_t = to_string(3.1415926)
string output_file = "F:\\WorkSpace\\QtPractice\\resource\\face_db\\"+d_t+".jpg";
cv::imwrite(output_file, image);
cout << output_file << endl;

它工作正常。因此,我认为在第二个代码正常工作时,无法正确地转换字符串。有人可以帮我写当前日期时间的图像吗,我做错了什么?谢谢。

1 个答案:

答案 0 :(得分:0)

感谢@Miki提供指导。为了自己回答这个问题,我将日期时间格式转换为自定义格式,因此可以解决。下面是完整的代码-

library(grid)
library(gridExtra)
library(magrittr)

sample.data <- matrix(data = c(1:30), nrow = 5, ncol = 5)

face <- cut(sample.data, c(0, 8, 25), 
  labels=c("plain", "bold")) %>% as.character

fcol <- cut(sample.data, c(0, 12, 22, 25), 
  labels=c("black", "darkred", "red")) %>% as.character

t1 <- ttheme_default(base_size=18, core=list(
        fg_params=list(fontface=face, col=fcol)
        ))

grid.table(sample.data, theme=t1)