严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C2664 “cv::Mat cv::imread(const cv::String &,int)”: 无法将参数 1 从“wchar_t *”转换为“const cv::String &” MFCOpencv D:\Git\VS2019\MFCOpencv\MFCOpencvDlg.cpp 199
时间: 2023-06-14 11:04:21 浏览: 250
opencv中mat与jpeg相互转换及显示代码
这个错误的原因是你传递给 `cv::imread` 函数的第一个参数是 `wchar_t*` 类型,而该函数的第一个参数需要的类型是 `const cv::String&`。你可以使用 `cv::String` 类型来替代 `wchar_t*` 类型来解决这个问题。你可以尝试以下两种方法:
1. 将 `wchar_t*` 转换为 `std::string` 类型,然后再将其转换为 `cv::String` 类型。代码示例如下:
```cpp
std::wstring wstr = L"your_wide_string";
std::string str(wstr.begin(), wstr.end());
cv::String filename(str);
cv::Mat img = cv::imread(filename, cv::IMREAD_COLOR);
```
2. 直接使用 `cv::String` 类型来传递文件名。例如:
```cpp
cv::String filename = "your_filename.jpg";
cv::Mat img = cv::imread(filename, cv::IMREAD_COLOR);
```
希望这能帮到你!
阅读全文