使用 imread (OpenCV) 的相对路径
Posted
技术标签:
【中文标题】使用 imread (OpenCV) 的相对路径【英文标题】:Relative Path Using imread (OpenCV) 【发布时间】:2013-08-02 14:33:00 【问题描述】:我有一个问题,我不确定它来自哪里。请看一下这个功能: http://pastie.org/8200205 imread 似乎返回空矩阵。 需要明确的是,我的图像位于 ImageData 目录中,该目录直接位于我的程序所在的位置,对于每个像苹果这样的对象类型,我都有一个像对象类型一样调用的目录,里面是所有苹果图像(如果这是当前的对象类型) 此外,我正在使用 cmake,但我很确定我不必包含没有任何代码的目录。 那么这里有什么问题呢?我的路径是错误的还是 imread 在子目录中不起作用? 感谢任何建议/解决方案:)
【问题讨论】:
Imread 在子目录中工作。所以我猜这是一个路径问题 我试过,将图像放在同一个目录中,而不是 imread(m_object_type + "-" + buffer + ".jpeg") 但这似乎也不起作用。 【参考方案1】:相对路径是相对于进程工作目录的。这不一定与可执行文件所在的目录相同。因此,假设您已经完成了其他所有操作,那么最可能的解释是您的工作目录与可执行文件所在的目录不同。
无论如何,听起来好像您希望程序将文件定位在相对于可执行文件的目录中。在这种情况下,您不应依赖工作目录,而是需要形成文件的完整路径。您只需添加可执行文件的目录即可。
【讨论】:
以上是关于使用 imread (OpenCV) 的相对路径的主要内容,如果未能解决你的问题,请参考以下文章