本来想放弃使用 BufferedImage 改用 OpenCV 处理图像,但我试了 Maven 直接加入依赖后发现频频报错,网上搜的资料教程又太少,折腾了好久,还是记录下来方便大家吧!
此教程针对 Mac OS 环境
OpenCV for Java 运行时抛出异常:
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.imgcodecs.Imgcodecs.imread_0
是由于没有加载动态链接库导致的 libopencv_javaxxx.dylib,xxx指的是版本号
public static void main(String []args){
//加上这句
// 加载 动态链接库
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
// OpenCV Code ...
Mat src = Imgcodecs.imread("xx.jpg", Imgcodecs.CV_LOAD_IMAGE_GRAYSCALE);
}
点击运行,还会报另外一个错误:
java.lang.UnsatisfiedLinkError: no opencv_javaxxx in java.library.path
原因有两个:
1. 缺少动态链接