opencv无法读取相对路径
时间: 2023-11-07 21:16:15 浏览: 89
opencv图片读取的路径问题
OpenCV在某些情况下可能无法读取相对路径的图片。当使用Qt release(非Qt项目,纯C/C++)中的OpenCV的imread函数来读取相对路径的图片时,可能会出现错误。另外,在VS2019下使用CMake项目时,同样会遇到无法加载相对路径的图片的问题,只能使用绝对路径来读取图片。
为了解决这个问题,你可以考虑使用另一种方法。首先将图片读取成QImage格式,然后将QImage格式转换为Mat格式。你可以使用QFile来读取图片文件,将其读取为QByteArray,然后使用imdecode函数将QByteArray转换为Mat格式。以下是一个示例代码:
```
Mat src;
QFile file(":/new/prefix1/line.jpg");
if (!file.open(QFile::ReadOnly)) {
qDebug("读取失败");
} else {
QByteArray ba = file.readAll();
src = imdecode(vector<char>(ba.begin(), ba.end()), 1);
}
if (src.empty()) {
qDebug("图像为空");
}
```
这样,你就可以通过将图片先读取为QImage格式,再转换为Mat格式来解决无法读取相对路径的图片的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Qt中无法使用opencv读取相对路径的图片](https://blog.csdn.net/fx2278642759/article/details/125163125)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [关于C++版OpenCV在visual studio 2019(vs 2019)下CMake项目中不能加载相对路径图片的问题](https://blog.csdn.net/baoxianjian/article/details/114100153)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文