0
通用:OpenCV Java |獲取OpenCV在其他計算機上工作
我使用OpenCV編程人臉檢測程序,我希望在沒有安裝OpenCV的情況下在其他計算機上工作。我的程序適用於Mac OS X,Linux和Windows。
什麼我已經嘗試過:
我試圖編譯它在我的第一臺Mac,然後我複製到我的第二個MAC,但我總是錯誤的,因爲有絕對路徑(我認爲)指着我桌面(我在第一臺Mac上編譯庫的位置)。 我問我的老師是否有可能將這些絕對路徑改寫成相對路徑,但他說這是不可能的。現在,我在這裏:)
CODE:(尼斯格式化的xD)
public static void loadOpenCVLibrary() {
//all opencv libs must be copyed to OpenCV_lib in the project workspace
File folder = new File(directory+seperator+"System"+seperator+"OpenCV_Linux"+seperator+"build"+seperator+"lib"+seperator);
//File folder = new File("/Users/Tech/Documents/Development/workspace/opencv-3.0.0/bin/");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile() && listOfFiles[i].getName().endsWith(".dylib")) {
File lib = new File(directory+seperator+"System"+seperator+"OpenCV_Linux"+seperator+"build"+seperator+"lib"+seperator + listOfFiles[i].getName());
//File lib = new File("/Users/Tech/Documents/Development/workspace/opencv-3.0.0/bin/" + listOfFiles[i].getName());
System.load(lib.getAbsoluteFile().toString());
}
}}
如果你需要更多的相關信息,發送郵件:)
非常感謝你! 技術
現在,它正在尋找這樣的... http://prntscr.com/bduxfg。當我使用System.loadLibrary(Core.NATIVE_LIBRARY_NAME);它只在eclipse中工作,當我在我的問題中使用我的方法「loadOpenCVLibrary()時,它不工作,因爲我必須設置正確的路徑。我需要改變什麼。我認爲絕對路徑在庫本身。但是,謝謝你的幫助:) – Tech
@Tech除了eclipse,還有什麼地方可以工作嗎?因爲如果它是這樣的話,你應該能夠將項目檢查到你的源代碼管理中,並且只要在任何地方下載並繼續使用它。或者你的意思是罐子? – Gildraths
它已經可以在我的Mac上導出和使用了,但是我想把這個程序賣給我的客戶,我想把它做成一個罐子 – Tech