使用opencv进行处理时出现不满意的链接错误

使用opencv进行处理时出现不满意的链接错误,opencv,processing,Opencv,Processing,我打电话: Mat opencv_K= new Mat(3, 3, CvType.CV_32F); 在草图中,我得到以下错误: java.lang.UnsatisfiedLinkError: org.opencv.core.Mat.n_Mat(III)J at processing.opengl.PSurfaceJOGL$2.run(PSurfaceJOGL.java:480) at java.lang.Thread.run(Thread.java:745) Unsatisfi

我打电话:

Mat opencv_K= new Mat(3, 3, CvType.CV_32F);
在草图中,我得到以下错误:

java.lang.UnsatisfiedLinkError: org.opencv.core.Mat.n_Mat(III)J
    at processing.opengl.PSurfaceJOGL$2.run(PSurfaceJOGL.java:480)
    at java.lang.Thread.run(Thread.java:745)
UnsatisfiedLinkError: org.opencv.core.Mat.n_Mat(III)J
A library relies on native code that's not available.
Or only works properly when the sketch is run as a 32-bit application.
在我看来,这个错误与报告的错误不同

一个最简单的例子是:

import processing.core.PVector;
import org.opencv.core.Mat;
import org.opencv.core.CvType; 
import org.opencv.core.Core;
Mat opencv_K= new Mat(3, 3, CvType.CV_32F); 
这种情况下的错误有些相似:

UnsatisfiedLinkError: org.opencv.core.Mat.n_Mat(III)J
A library relies on native code that's not available.
Or only works properly when the sketch is run as a 32-bit application.
我正在Ubuntu平台上使用Processing 3。

解决方案:

只需添加
System.loadLibrary(Core.NATIVE\u LIBRARY\u NAME)在相关代码之前

我建议尝试Greg的:

控制台输出:

OpenCV for Processing 0.5.2 by Greg Borenstein http://gregborenstein.com
Using Java OpenCV 2.4.5.0
Mat [ 3*3*CV_32FC1, isCont=true, isSubmat=false, nativeObj=0x7fb86157f080, dataAddr=0x7fb861589e90 ]

有什么理由推荐它吗?优点:超级容易设置(草图>导入库>添加库>OpenCV进行处理),易于访问OpenCV功能(最小/最大亮度/人脸检测/背景减法等),OpenCV到处理和反向转换(
MatPImage
PointPVector
,等等)为常见操作系统附带预编译库缺点:目前使用OpenCV 2.4.5.0(如果需要更新的函数,则需要手动更新),在更复杂的任务中,跳过大部分包装器代码更容易,只需在开始时将PImage转换为Mat,使用典型的Java OpenCV API进行处理,然后再转换回。
OpenCV for Processing 0.5.2 by Greg Borenstein http://gregborenstein.com
Using Java OpenCV 2.4.5.0
Mat [ 3*3*CV_32FC1, isCont=true, isSubmat=false, nativeObj=0x7fb86157f080, dataAddr=0x7fb861589e90 ]