M1芯片opencv+opencv_contrib安装JAVA开发IDEA配置

电脑系统

基于最近学习opencv总结一下网上查找的资料和遇到的坑

首先安装opencv按照官方给出的配置在自己的电脑要安装python和cmake

这两个的安装度娘就行一步一步来

如果用需要生成java环境需要安装jdk

我用的zulu jdk 1.8

个人建议上述所有都安装最新版本

终端输入

brew edit opencv

https://github.com/Homebrew/homebrew-core/blob/master/Formula/opencv.rb 这是使用brew安装时执行的命令,我们可以看到它下载了opencv和opencv_contrib两个包
所以,homebrew默认安装opencv_contrib,不需要考虑重新编译opencv+opencv_contrib,这也就是为什么说brew安装是最简单的方法。

查看这些信息安装的是4.5.5

 因为要安装opencv_contrib 这个通过brew就可以直接安装,我们需要修改的地方

-DBUILD_opencv_java=OFF 改成 -DBUILD_opencv_java=ON

这个目的是生成对应的jar包

同时将以下信息自己拷进去就行

1.8对应的是jdk的版本 其他的是对应的安装的jdk的位置

-DOPENCV_JAVA_TARGET_VERSION=1.8
      -DJAVA_INCLUDE_PATH=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/include
      -DJAVA_AWT_LIBRARY=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/libawt.dylib
      -DJAVA_JVM_LIBRARY=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/libjvm.dylib

网上查找m1的需要在每个cmake 前加 "arch" ,"-arm64"

找到对应 mkdir "build" do下的信息

这是修改后的

mkdir "build" do
      system "arch" ,"-arm64","cmake", "..", *args
      inreplace "modules/core/version_string.inc", Superenv.shims_path, ""

      system "arch" ,"-arm64","make"
      system "arch" ,"-arm64","make", "install"

      system "arch" ,"-arm64","make", "clean"
      system "arch" ,"-arm64","cmake", "..", "-DBUILD_SHARED_LIBS=OFF", *args
      inreplace "modules/core/version_string.inc", Superenv.shims_path, ""

      system "arch","-arm64","make"
      lib.install Dir["lib/*.a"]
      lib.install Dir["3rdparty/**/*.a"]
    end

至此opencv的文件配置完毕 保存退出既可

安装前再此确认python3 cmake jdk 

如果电脑之前安装过opencv 请先卸载

brew uninstall opencv

如果没装过直接运行

brew install --build-from-source opencv

意思是通过刚才的配置文件进行安装 安装过程等着就行,个人建议把占用cpu的应用关掉 

安装完成之后找到对应目录

 一般安装完都有显示安装目录

cd /opt/homebrew/Cellar/opencv/4.5.5_2/share/java/opencv4/

进入后可发现生成的对应文件libopencv_java455.dylib*  opencv-455.jar

有这两个文件证明安装成功,然后就是开始用了

打开idea创建好自己的项目

配置自己的jdk 注意这里划重点⚠️:项目的jdk一定要和opencv刚才安装用的jdk是一个否则用的时候可能报错版本不对应

 

 然后添加jar包

 找到刚才生成的opencv的jar包添加

添加好后点加号再次选择jar包目录下的另一个文件

 

 

点击应用并确认

idea java编辑器版本一定要对应

 

 添加好了这就没问题了

public static void main(String[] args) {

    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    Mat src = Imgcodecs.imread(文件地址);
    new ImageViewer(src, "第一幅图片").imshow();
}

这个时候弹出打开的文件就没问题了

因为是从git上下载文件 安装的时候可能会比较慢,请科学上网

安装如果有问题卸载后重装 

不要去下载别人安装好的包,opencv一直更新建议还是自己去安装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值