【之前困擾筆者的問題描述】 date:2019.12.18
網上教程很多,但是沒有看見完整的,所以寫一個出來。
調用攝像頭需要javaCV的jar包和openCV的jar包,現在已經不需要安裝包了,jar包可以下載也可以直接導入pom依賴。一開始我看了網上教程寫了代碼【代碼后附】,然后運行報錯,而且找了半天原因都找不到,最后我發現還要openCV的jar包(當時看來看去以為只要javaCVjar包就行。。。)
具體報錯這樣:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jniopencv_core in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:976)
at org.bytedeco.javacpp.Loader.load(Loader.java:777)
at org.bytedeco.javacpp.Loader.load(Loader.java:684)
at org.bytedeco.javacpp.opencv_core.<clinit>(opencv_core.java:10)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.bytedeco.javacpp.Loader.load(Loader.java:739)
at org.bytedeco.javacpp.Loader.load(Loader.java:684)
at org.bytedeco.javacpp.helper.opencv_core$AbstractArray.<clinit>(opencv_core.java:109)
at org.bytedeco.javacv.OpenCVFrameGrabber.<init>(OpenCVFrameGrabber.java:82)
at com.kpzx.pzsz.CameraUtil.Camera(CameraUtil.java:26)
at com.kpzx.pzsz.CameraUtil.main(CameraUtil.java:22)
Caused by: java.lang.UnsatisfiedLinkError: no opencv_imgproc320 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:976)
at org.bytedeco.javacpp.Loader.load(Loader.java:765)
... 10 more
圖示:
網上各種答案都有,很難找,最后才發現少了openCV依賴。
1.引入pom依賴
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>opencv</artifactId>
<version>3.1.0-1.2</version>
</dependency>
注意:javaCV版本要匹配OpenCV版本,不知道匹配什么版本的查一下。我用的javacv1.3.3網上好評較多,不過版本好像比較舊了,大家有需要的可以試試別的。
2.核心代碼
此處引用一位大佬的。http://www.zuidaima.com/blog/3846434797243392.htm 代碼沒問題,親測,復制進去有問題的八成自己引用包引用錯了,或者編譯器自動導包錯亂
3.運行實測:
保存到本地
項目結構
最后:如有瑕疵不足,或有更好建議的歡迎大佬留言。