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());
}
复制代码

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

相关推荐
ComputerInBook1 天前
OpenCV图像处理——图像缩放函数 resize
图像处理·opencv·计算机视觉
格林威2 天前
工业视觉检测:OpenCV FPS 正确计算的方式
运维·人工智能·数码相机·opencv·机器学习·计算机视觉·视觉检测
房开民2 天前
OpenCV 中 cv::split() 的最基础用法
人工智能·opencv·计算机视觉
无垠的广袤2 天前
【“星睿O6”AI PC开发套件评测】基于 OpenClaw 的物体识别
linux·人工智能·opencv·摄像头·openclaw
螺丝钉的扭矩一瞬间产生高能蛋白3 天前
opencv基础用法
人工智能·opencv·计算机视觉
ghgxm5203 天前
Opencode入门
人工智能·opencv
m0_587098993 天前
C++,cv::Mat数据类型、通道数等概念梳理
c++·opencv·计算机视觉
ComputerInBook3 天前
OpenCV图像处理——自适应阈值处理函数 adaptiveThreshold
图像处理·人工智能·opencv·自适应阈值处理
sali-tec4 天前
C# 基于OpenCv的视觉工作流-章51-点查找
图像处理·人工智能·opencv·算法·计算机视觉
秋月的私语4 天前
遥感影像拼接线优化工具:基于Qt+GDAL+OpenCV的从二到三实践
开发语言·qt·opencv