- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 javacv 在 java 中编写了运动检测代码,它在 Windows 上完美运行,但在 Ubuntu 13.04 中它显示这样的错误,请为此提出解决方案,我也附加了代码
代码
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package demo;
/**
*
* @author Admin
*/
import com.googlecode.javacpp.Loader;
import com.googlecode.javacv.*;
import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
import static com.googlecode.javacv.cpp.opencv_calib3d.*;
import static com.googlecode.javacv.cpp.opencv_objdetect.*;
public class Demo {
public static void main(String[] args) throws Exception {
OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(0);
grabber.start();
IplImage frame = grabber.grab();
IplImage image = null;
IplImage prevImage = null;
IplImage diff = null;
CanvasFrame canvasFrame = new CanvasFrame("Original stream");
canvasFrame.setCanvasSize(frame.width(), frame.height());
CanvasFrame editFrame = new CanvasFrame("Edited stream");
canvasFrame.setCanvasSize(frame.width(), frame.height());
CvMemStorage storage = CvMemStorage.create();
while (canvasFrame.isVisible() && (frame = grabber.grab()) != null) {
//cvSmooth(frame, frame, CV_GAUSSIAN, 9, 9, 2, 2);
if (image == null) {
image = IplImage.create(frame.width(), frame.height(), IPL_DEPTH_8U, 1);
//cvCvtColor(frame, image, CV_RGB2GRAY);
} else {
prevImage = IplImage.create(frame.width(), frame.height(), IPL_DEPTH_8U, 1);
prevImage = image;
image = IplImage.create(frame.width(), frame.height(), IPL_DEPTH_8U, 1);
cvCvtColor(frame, image, CV_RGB2GRAY);
}
if (diff == null) {
diff = IplImage.create(frame.width(), frame.height(), IPL_DEPTH_8U, 1);
}
if (prevImage != null) {
// perform ABS difference
cvAbsDiff(image, prevImage, diff);
// do some threshold for wipe away useless details
cvThreshold(diff, diff, 64, 255, CV_THRESH_BINARY);
canvasFrame.showImage(frame);
editFrame.showImage(diff);
}
}
grabber.stop();
canvasFrame.dispose();
}
}
输出:
sx=158sy=37w=350h=350op7 Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/javacpp94368173067/libjniopencv_core.so: libopencv_core.so.2.4: cannot open shared object file: No such file or directory at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1957) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1882) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1843) at java.lang.Runtime.load0(Runtime.java:795) at java.lang.System.load(System.java:1061) at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:566) at com.googlecode.javacpp.Loader.load(Loader.java:489) at com.googlecode.javacpp.Loader.load(Loader.java:431) at com.googlecode.javacv.cpp.opencv_core.(opencv_core.java:136) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:270) at com.googlecode.javacpp.Loader.load(Loader.java:453) at com.googlecode.javacv.cpp.opencv_imgproc.(opencv_imgproc.java:97) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:270) at com.googlecode.javacpp.Loader.load(Loader.java:453) at com.googlecode.javacv.cpp.opencv_highgui.(opencv_highgui.java:85) at com.googlecode.javacv.OpenCVFrameGrabber.start(OpenCVFrameGrabber.java:174) at demo1.Demo1.main(Demo1.java:187) Caused by: java.lang.UnsatisfiedLinkError: no opencv_core in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1878) at java.lang.Runtime.loadLibrary0(Runtime.java:849) at java.lang.System.loadLibrary(System.java:1087) at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:593) at com.googlecode.javacpp.Loader.load(Loader.java:481) ... 12 more Java Result: 1 BUILD SUCCESSFUL (total time: 0 seconds)
最佳答案
它的简单意思是它无法找到 native 依赖项。 JavaCV 在内部使用 JNI 调用来使用 OpenCV dll。在 Windows 上,依赖项位于路径上(背后可能有多种原因,opencv 可能位于环境变量或某些资源中)。
我建议在 Linux 上进行此操作:https://code.google.com/p/javacv/
关于java.lang.UnsatisfiedLinkError/tmp/javacpp94368173067/libopencv_core.so.2.4 : cannot open shared object file: No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17992417/
我使用JavaCV 1.1。我已将 jar 文件(javacv.jar、javacpp.jar 和 opencv.jar)和 *.so 库添加到 Android Studio 中的项目中。我在 And
有点迷茫。我设置了所有必需的库路径,但仍然有加载共享库错误。当我输入时从终端 >>pkg-config --libs opencv -L/usr/local/lib -lopencv_cudabgse
加载共享库时出错:libopencv_core.so.3.0:无法打开共享对象文件:没有这样的文件或目录。 我在 ubuntu 14.04 上使用 eclipse c/c++ ide。尝试了我从谷歌获
我最近在运行 Ubuntu 15.04 的机器上安装了 OpenCV 3.0,以通过 python 进行一些视频操作。我在安装时遇到了一些初始问题,最终分别安装了 2.4 和 3.0 版本,每次尝试之
我想在我的 Android 应用程序中使用 JavaCv。因此我听从了这里的建议:https://github.com/bytedeco/javacv关于如何安装 Android 2.2 或更新版本。
我使用的是 Ubuntu 12.04。我最初安装的是 opencv 3.0-beta 版本。由于某些原因,我在使用命令卸载旧版本后切换回旧版本 2.4.9: $> sudo make uninstal
我正在尝试在 Ubuntu 14.04 上安装适用于 Python 的 OpenCV 3.0,但在多次安装(并读取 StackOverflow 页面)之后,它仍然无法正常工作。 在 Python (P
我正在尝试在 Scientific Linux SL 版本 5.0 (Boron) 上设置支持 FFMPEG v0.11 的 OpenCV v2.4.1,但我遇到了一个似乎完全没有记录的丢失文件的问题
我在 hadoop 中工作,当我为我的图像处理程序创建可运行的 jar 时,突然发生了这个错误,它与 opencv native 库路径有关 在使用 eclipse 时我可以设置路径: //Syste
我最近安装了Opencv-2.4.6我写了一个鸟瞰图转换的代码(不是最终代码)。在Opencv(2.4.3)的早期版本中,它正在被执行。 现在我在运行时遇到错误。 **加载共享库时出错:libopen
我通过 apt-get 安装了 openCV 库。我正在尝试安装 BGSLibrary 并且 cmake 文件试图找到“/usr/local/lib/libopencv_core.so.3.4.0”脚
我正在使用 android 和 openCV 开发一个人脸识别应用程序。我的android studio版本是3.5.3,openCV版本是3.4.10。我运行应用程序的手机是arm64-v8a,我收
我的电脑是CentOS系统,我尝试安装caffe。安装一些依赖项后。我运行 $make all,然后它返回以下警告: NVCC src/caffe/solvers/sgd_solver.cu NVCC
我对 Objective C 和 Xcode 还是很陌生,但我刚刚完成了一个使用 openCV libopencv_core.2.4.2.dylib 的小应用。 当我在另一台机器上打开最终构建的应用程
我正在尝试使用以下 CMAKE 选项构建 opencv: cmake -D CMAKE_BUILD_TYPE=DEBUG -D CMAKE_INSTALL_PREFIX=/home/luca/Drop
我已经在 Ubuntu 16.04 上安装了 OpenCV 3.3.0。只想编译这段代码。 #include using namespace std; #include "opencv2/openc
我刚刚在我的 Debian 机器上安装了 OpenCV,但遇到了一些问题。我遵循了 Wiki 上的安装指南。尝试编译示例给出了似乎是成功的编译,但是尝试运行它们最终会抛出错误: fagg@hubble
我遇到了以下问题: /Users/luke/Desktop/trainHOG/trainhog ;导出; dyld:库未加载:lib/libopencv_core.3.0.dylib 引用自:/Use
我使用 javacv 在 java 中编写了运动检测代码,它在 Windows 上完美运行,但在 Ubuntu 13.04 中它显示这样的错误,请为此提出解决方案,我也附加了代码 代码 /* * T
我在 ubuntu 12.04 中编译并安装了 openCV 2.4.2。在 /usr/local/include 下我可以看到目录 /usr/local/opencv 和 /usr/local/op
我是一名优秀的程序员,十分优秀!