Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 具有umlauts的路径时QImage无效_Opencv_Path - Fatal编程技术网

Opencv 具有umlauts的路径时QImage无效

Opencv 具有umlauts的路径时QImage无效,opencv,path,Opencv,Path,我正在读取一个图像(opencv),编辑它,并希望将其保存到一个QImage,以便在Qt小部件中显示它。这也行得通。但前提是路径中没有UMLAUT。只要路径中有UMLAUT,就不会显示任何图像。 对于测试,我总是使用相同的图像,只更改了路径名(插入了anä) 当我调试代码时,它只显示displayImage的“无效”。没有其他信息。 当我跨过最后一行代码时 路径是否以错误的格式传递 ---更新--- 我的错误是我刚刚看到的imread是问题所在,而不是最后一行代码 < >我搜索答案< /p>我只

我正在读取一个图像(opencv),编辑它,并希望将其保存到一个QImage,以便在Qt小部件中显示它。这也行得通。但前提是路径中没有UMLAUT。只要路径中有UMLAUT,就不会显示任何图像。 对于测试,我总是使用相同的图像,只更改了路径名(插入了anä)

当我调试代码时,它只显示displayImage的“无效”。没有其他信息。 当我跨过最后一行代码时

路径是否以错误的格式传递

---更新--- 我的错误是我刚刚看到的imread是问题所在,而不是最后一行代码


< >我搜索答案< /p>我只找到Python请求,没有C++。<代码> CV::imc><代码>不支持Unicode AFAIK。对于文件名,我个人会尽量避免使用纯ASCII以外的任何东西,但可以自由地尝试使用什么方法。也许您可以使用标准文件IO(应该更灵活)将文件内容加载到内存中,并在加载的缓冲区上使用
cv::imdecode
...
cv::Mat imageCV = cv::imread(info.absoluteFilePath().toStdString(), cv::IMREAD_ANYDEPTH | cv::IMREAD_COLOR); 

 ... // do some stuff....

QImage displayImage = QImage((const uchar*) imageCV.data, imageCV.cols, imageCV.rows, imageCV.step, QImage::Format_RGB888);