我有以下代码:
int upsample(DnnSuperResImpl model,
std::filesystem::path f,
std::filesystem::path s) {
Mat img = cv::imread(f); //Read image
Mat img;
sr.upsample(img, img_new)
cv::imwrite(s/ f.filename(), img); //Save upscaled image
return 0;
}
有人知道为什么f和s不允许在不添加.string()的情况下编写吗?
1条答案
按热度按时间jhkqcmku1#
这个错误消息告诉您cv::imread和cv::imwrite函数需要一个const cv::String&作为第一个参数,但是您传递给它们的是一个std::filesystem::path。
使用std::filesystem::path类的string()方法将file_path和保存_dir路径转换为std::string对象,然后将这些字符串传递给cv::imread和cv::imwrite函数。