在运行测试例子的时候,每次跑到opencv_highgui.cvLoadImage("c:\\1.jpg"); 这个地方就会报Exception in thread "main" java.lang.UnsatisfiedLinkError: no jniopencv_highgui in java.library.path的异常,搞了1天都没搞定。
有人说是环境变量path没写对,其实环境变量不加也可以,只要指定opencv-249.jar这个包的Native library locationd的位置为C:/javacv/javacv-0.8/opencv/build/java/x86就可以了。这个目录里有个opencv_java249.dll。也不需要把其他的dll复制到这个目录里。
其实这个问题造成的原因是我的opencv版本和javacv的版本没有对上。我的电脑是win7-32位,所以要用的版本是opencv-2.4.9.exe和javacv-0.8-32.zip。问题解决。
以下是网上找到的测试代码:
import org.bytedeco.javacpp.opencv_core.IplImage;
import static org.bytedeco.javacpp.opencv_highgui.*;
import static org.bytedeco.javacpp.opencv_core.cvReleaseImage;
public class ReadImage {
public static void main(String[] args) {
//读取图像
IplImage srcImg=cvLoadImage("c:\\1.jpg");
if (srcImg !=null) {
//新建窗体,并命名
cvNamedWindow("test0.8");
//展示图像
cvShowImage("test0.8",srcImg);
//等待按键,以执行下一步
cvWaitKey(0);
//释放图像空间
cvReleaseImage(srcImg);
//销毁窗体
cvDestroyWindow("test0.8");
}
}
}