我在VS2010和Xcode 4.2上都遇到了OpenCV 2.3.1和2.4的跨平台错误
如果我在给图像路径作为绝对路径时使用cv :: imread,它就可以工作。如果这是一个相对路径,它就不起作用。我通常将图像放在与代码相同的目录中,以及项目中的所有其他目录,只是为了小心。
非常感谢任何人都能回答这个问题。谢谢!
哈里什。
答案 0 :(得分:2)
在Visual Studio中,当您创建C ++项目时,它会将项目的工作目录设置为项目目录,而不是可执行文件的输出目录。
这意味着如果从Visual Studio内部运行项目(通过使用F5按钮或“开始调试”按钮),您正在编写的程序将无法看到相同的文件dir作为.exe文件。但是当你从Windows资源管理器中运行程序时(通过双击它)它将按预期工作。
要解决此问题,您需要进入Configuration properties
- >下的项目属性窗口。 Debugging
,并将工作目录从$(ProjectDir)
更改为$(OutputPath)
。您应该为Debug和Release配置更改此项。
我不知道XCode中的情况是否相同,但你也可以尝试这个解决方案。