1、前提:成功打開本地USB攝像頭
// 創建VideoCapture對象 VideoCapture vc = new VideoCapture(); // 可以成功打開本地USB攝像頭 // 參數可以是 0~n,結合自身情況 boolean ans = vc.open(0); // 返回結果為true System.out.println(ans);
2、當改為本地視頻文件、圖片文件or網絡圖片or網絡IP攝像頭地址時,打開錯誤!
// 創建VideoCapture對象 VideoCapture vc = new VideoCapture(); // 打開的音視頻地址 String address = ""; // 測試本地視頻文件 address = "D:/opencv/1.avi"; // 測試網絡IP攝像頭,通過rtsp來獲取視頻流 // 通用的rtsp地址格式為"rtsp://user:password@ip:port" // 此處使用的是科達的攝像頭,后面添加的id =0為主碼流,id=1為子碼流 // 如果不知道你使用的攝相頭格式,下載 ONVIF Device Manage 即可得到 address = "rtsp://admin:123456@192.168.XXX.XXX:554/id=0"; boolean ans = vc.open(address); // 返回結果為false System.out.println(ans);
3、解決辦法:在配置opencv環境時,dll文件沒有拷貝齊全!!常理情況下,你已經將opencv_java320.dll拷貝到jdk安裝路徑下的jre/bin目錄下了,不然的話不能成功加載庫。解決上面問題方法就是將你下載下來的 opencv解壓后的 文件夾中bulid 文件夾下 相關的 dll 文件都拷貝到 jre/bin目錄下。什么叫相關,那就是全部的dll都考進去!!保險些。至此打不開網絡攝像頭的問題解決!