c++ opencv 4.12怎么读取中文路径
时间: 2023-11-28 11:06:20 浏览: 201
在C++中,可以使用`cv::imread`函数读取图像。如果要读取中文路径,可以使用Unicode编码的路径名。具体地,可以使用`std::wstring`类型来表示路径名,然后将其转换为UTF-8编码的字符串,再使用`cv::imread`函数读取图像。
以下是一个示例代码:
```cpp
#include <iostream>
#include <opencv2/opencv.hpp>
int main()
{
std::wstring wpath = L"D:/中文路径/图像.jpg";
std::wstring_convert<std::codecvt_utf8<wchar_t>> conv;
std::string path = conv.to_bytes(wpath);
cv::Mat img = cv::imread(path, cv::IMREAD_COLOR);
if (img.empty())
{
std::cout << "Failed to read image!" << std::endl;
return -1;
}
cv::imshow("Image", img);
cv::waitKey(0);
return 0;
}
```
在上面的代码中,`std::wstring_convert`类用于将`std::wstring`类型转换为UTF-8编码的字符串。`cv::imread`函数用于读取图像,`cv::imshow`函数用于显示图像。
阅读全文