2015-06-05 51 views
5

目前,我想編寫一個小程序來採取新的學生畫面和由他們的名字等保存,以緩解銘文的東西等UnsatisfiedLinkError在執行新的墊()

因此,這裏是我的問題,我發現了一個偉大的教程,以幫助我使用網絡攝像頭:

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.core.Mat.n_Mat()J 
    at org.opencv.core.Mat.n_Mat(Native Method) 
    at org.opencv.core.Mat.<init>(Mat.java:24) 
    at recupphoto.Ihm.<init>(Ihm.java:38) 
    at recupphoto.RecupPhoto.main(RecupPhoto.java:19) 
Java Result: 1 
http://www.codeproject.com/Tips/717283/How-to-use-OpenCV-with-Java-under-NetBeans-IDE

當我嘗試導入一些代碼,以我的我得到這個錯誤,我可以運行這個項目,沒有錯誤,但

當我執行的論文線出現的錯誤:

Mat frame = new Mat(); 
MatOfByte mem = new MatOfByte(); 

這裏是我的情況下,進口它可以幫助找出:

import java.util.ArrayList; 
import java.awt.Graphics; 
import java.awt.Image; 
import java.awt.image.BufferedImage; 
import java.io.ByteArrayInputStream; 
import javax.imageio.ImageIO; 
import javax.swing.JOptionPane; 
import javax.swing.UIManager; 
import org.opencv.core.Mat; 

import org.opencv.core.MatOfByte; 
import org.opencv.imgcodecs.Imgcodecs; 
import org.opencv.videoio.VideoCapture; 

雖然編譯我收到了這條消息,不知道是否相關

注意:某些輸入文件使用未經檢查或不安全的操作。 注意:使用-Xlint重新編譯:取消選中以獲取詳細信息。

這兩個錯誤出現(我猜)當Mat()被調用,但我找不到如何解決這個問題。

我真的應該在這裏使用一些幫助或提示!感謝您閱讀本文,並對我的英文不好!

+0

這種錯誤表明動態可加載的庫(位於OpenCV的Java API之後的本機代碼的一部分)缺失,也許它不在庫加載路徑之類。你應該檢查你的安裝設置。 – RealSkeptic

+0

你的安裝設置是什麼意思?我很初學。 – Neithalf

+0

我的意思是 - 您放置OpenCV庫的位置,是否正確執行了OpenCV安裝過程中的所有設置步驟。無論您在完成OpenCV安裝後運行NetBeans是否新鮮。並且您還應該指出您正在運行的操作系統和版本,因爲這是本機代碼問題。 – RealSkeptic

回答

7

Finaly解決我的問題,事實是,我叫

System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 

太晚了,所以我把它一下,解決了:)感謝所有誰花了一點自己的時間幫助我!

+0

哇,你幫了很多=) –

0

步驟1獲取依賴項walker應用程序。

第2步瀏覽到相關的庫文件夾。

第3步看看有什麼缺少,並得到它。

提示:

確保你的DLL對你的架構無論是32位或64位。

確保使用適當的java(32位/ 64位)進行編譯,具體取決於您提供的DLL。

最後如果你缺少的依賴關係從MSVCP ***。dll下載Microsoft Visual C++ Packages開始。再次關心架構。我建議你從這一步開始。

+0

dependency walker告訴我一些文件丟失了,但我不知道他們甚至是什麼:/ 我無法理解的是,在教程中,我將它運行在庫上,它在我的項目中運行「T。 – Neithalf

+0

爲你的架構安裝C++可視化包,90%的情況下它解決了這個問題 – Palcente