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