2012-05-20 85 views
0

如果我使用CV :: imread同時給予路徑我有一個跨平臺的錯誤有兩個VS2010 OpenCV的2.3.1和2.4和4.2的Xcode相關的絕對路徑CV :: imread OpenCV的

圖像作爲絕對路徑,它的工作原理。如果這是相對路徑,它不起作用。我通常將圖像放在與代碼相同的目錄以及項目中的所有其他目錄中,以便小心。

非常感謝,如果任何人都可以回答這個問題。謝謝!

哈里什。

回答

2

在Visual Studio中,當你創建一個C++項目,它設置項目的工作目錄到項目目錄,而不是可執行文件的輸出目錄。

這意味着,如果您運行從Visual Studio內的項目(通過使用F5鍵或「開始調試」按鈕),你正在寫將無法看到,是在文件的程序與.exe文件相同的目錄。但是,當您從Windows資源管理器(通過雙擊它)運行程序時,它將按預期工作。

要解決此問題,您需要進入項目屬性窗口Configuration properties - >Debugging,並將工作目錄從$(ProjectDir)更改爲$(OutputPath)。您應該對Debug和Release配置進行更改。

我不知道這是在Xcode中相同的情況下,但你可以有太多嘗試此解決方案。

Working directory configuration

+1

我曾嘗試這一點,但它並沒有work..Also,我的代碼工作完全以絕對路徑,而不是相對。 – kshatrea

+0

當您從Windows資源管理器中雙擊運行它時,它會工作嗎?此外,請將您使用'cv :: imread'的代碼行發佈,並且可能是您的.exe文件所在的文件夾的屏幕截圖。 – Ove

+0

嗨,我能夠得到它在VS2010中使用Cmake再次構建OpenCV並將其放入鏈接庫後工作。它確實有效。雖然我無法讓它在Xcode上工作,但我認爲它再次成爲您提到的構建目錄問題,並將回到上面。 – kshatrea