Mac M2安装OpenCV记录

OpenCV下载安装

Python下使用

建议直接通过 brew install opencv 安装最新版本 可以通过下面代码查看验证opencv版本,如果正常显示版本号就代表安装成功,可以正常使用了

python 复制代码
    import cv2
    print(cv2.__version__)
    
    #/PycharmProjects/med-alay/cv.py 
    #4.12.0

Java下使用

源码下载

在官网 opencv.org/releases/ 下载最新4.12.0的source源码 下载好的源码放到 ~/opencv文件夹下,解压文件,进入源码目录创建build文件夹

shell 复制代码
    cd opencv-4.12.0
    mkdir build && cd build

安装opencv_contrib

在build目录下安装opencv_contrib

shell 复制代码
git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git checkout 4.12.0

cmake安装

ini 复制代码
在build目录下执行下面命令安装
这里注意 JAVA_HOME 环境变量需要设置好 我本地用的是jdk21
CMAKE_INSTALL_PREFIX 编译结果输出文件目录
在自己的jdk目录确认 JAVA_INCLUDE_PATH JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY目录下对应是否存在配置的文件
-D BUILD_opencv_java=ON 设置成ON,在后续java工程中调用需要最终编译的jar文件
-D OPENCV_EXTRA_MODULES_PATH 设置成opencv_contrib目录下的moudles文件目录
shell 复制代码
cmake \
-DCMAKE_SYSTEM_PROCESSOR=arm64 \
-DCMAKE_OSX_ARCHITECTURES=arm64 \
-DWITH_OPENJPEG=OFF \
-DWITH_IPP=OFF \
-D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local/opencv \
-D JAVA_INCLUDE_PATH=$JAVA_HOME/include \
-D JAVA_AWT_LIBRARY=$JAVA_HOME/lib/libawt.dylib \
-D JAVA_JVM_LIBRARY=$JAVA_HOME/lib/server/libjvm.dylib \
-D BUILD_opencv_python2=OFF \
-D BUILD_opencv_java=ON \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D INSTALL_C_EXAMPLES=OFF \
-D BUILD_ZLIB=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv-4.12.0/build/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..

make

表示使用全部8个内核来运行make指令,可以按实际硬件情况调整,过程大概5~20分钟

shell 复制代码

make -j8

复制代码

安装

shell 复制代码

sudo make install

复制代码

Idea使用opencv配置

在上面编译安装成功后会在 /usr/local/opencv/share/java/opencv4 文件夹下找到 opencv-4120.jar 在Idea lib里下添加jar包或者将jar包上传的到本地私库直接通过maven引用 maven坐标

xml 复制代码
    <dependency>
        <groupId>org.opencv</groupId>
        <artifactId>opencv</artifactId>
        <version>4.12.0</version>
    </dependency>

在Main方法中验证

java 复制代码
arduino 复制代码
public static void main(String[] args) {
    System.load("/usr/local/opencv/share/java/opencv4/libopencv_java4120.dylib");
    Mat image = Imgcodecs.imread("~/images/test.png");
    System.out.println("width: " + image.width());
    System.out.println("height: " + image.height());
}
复制代码

如果能正常输出宽高则正常安装调试成功

相关推荐
欲儿6 小时前
magicCamera—魔术师的 AR 卡牌应用
opencv·安卓·魔术师
Hua-Jay18 小时前
OpenCV联合C++/Qt 学习笔记(二十)----Harri角点检测、Shi-Tomas角点检测及亚像素级别角点位置优化
c++·笔记·qt·opencv·学习·计算机视觉
Hua-Jay19 小时前
OpenCV联合C++/Qt 学习笔记(十九)----图像分割
c++·笔记·qt·opencv·学习
Hua-Jay2 天前
OpenCV联合C++/Qt 学习笔记(十七)----凸包检测、直线检测及点集拟合
c++·笔记·qt·opencv·学习·计算机视觉
入门工作者2 天前
opencv 胶路检测实战
人工智能·opencv·计算机视觉
Hua-Jay2 天前
OpenCV联合C++/Qt 学习笔记(十八)----二维码检测及积分图像
c++·笔记·qt·opencv·学习
dapei373 天前
Cameralink采集卡软件ESpeedGrab使用讲解:9直方图拉伸
数码相机·opencv·计算机视觉
番茄炒西红柿炒洋柿子3 天前
OpenCV使用平面拼接图片
人工智能·opencv·平面
番茄炒西红柿炒洋柿子3 天前
OpenCV实现相机畸变校准
人工智能·数码相机·opencv
㳺三才人子5 天前
初探 OpenCV 圖像處理
人工智能·python·opencv·计算机视觉