前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在MacOS上源码安装OpenCV-4.0.0

在MacOS上源码安装OpenCV-4.0.0

作者头像
老潘
发布2023-10-19 10:42:10
2560
发布2023-10-19 10:42:10
举报

前言

OpenCV-4.0.0已经放出来一阵日子了,很有新功能新特性值得尝试,由于MacOS上的brewhome包中编译好的OpenCV版本只有3.4.3,为了在MacOS上安装最新的OpenCV,只好走源码编译这条路了。

安装细节

整体来说比较简单,这里我并不选择安装OpenCV的contribute部分,所以我仅仅下载了官方的标准源码包:https://github.com/opencv/opencv/releases

下载好找个文件夹解压即可。

依赖包

安装OpenCV当然要安装一些必要的依赖件,我们需要:

  • gcc、make、cmake、clang
  • python3
  • 其他一些其他的依赖包

编译工具

在MacOS端的话,编译器我们可以选择xcode自带的编译器,首先我们要安装xcode工具包,直接在App Store中安装即可。

之后一次执行这两个命令:

代码语言:javascript
复制
$ sudo xcodebuild -license
$ sudo xcode-select --install

安装好这些后系统中应该已经有make、gcc、clang等命令了。

python

python不用多说吧,安装方式很多,可以走官方安装包安装或者利用anaconda工具进行安装,总之安装好python3版本的就可以了,建议安装3.6版本。

这里推荐anaconda,然后将anaconda的python设置为系统python(可以安装在系统环境中,也可以安装在虚拟环境中),在编译opencv的时候会自动寻找当前python路径。

相关文章:anaconda常用命令配置信息及更换源

在安装好python之后,安装numpy。

代码语言:javascript
复制
pip install numpy

如果不确认是否安装好可以在之后的cmake生成的config信息中查看是否正确找到。

其他依赖包

OpenCV的源码安装还需要一些其他的工具,怎么安装,我们使用MacOS下必备的安装工具brew,类似于Ubuntu中的apt-get、centos中的yum,就是一个包的管理工具。

依次执行以下命令:

代码语言:javascript
复制
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew update
$ nano ~/.bash_profile
# 在打开的文件中添加:
        # Homebrew
        export PATH=/usr/local/bin:$PATH
$ source ~/.bash_profile

brew安装后,我们执行以下的命令:

代码语言:javascript
复制
$ brew install cmake pkg-config
$ brew install jpeg libpng libtiff openexr
$ brew install eigen tbb

这样依赖包也就安装完毕,开始编译吧。

编译

解压我们之前安装好的源码包,然后进入源码目录:

代码语言:javascript
复制
oldpandeMacBook-Pro:opencv-4.0.0 oldpan$
oldpandeMacBook-Pro:opencv-4.0.0 oldpan$ mkdir build
oldpandeMacBook-Pro:opencv-4.0.0 oldpan$ cd build
oldpandeMacBook-Pro:build oldpan$ $ cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D BUILD_opencv_python2=OFF \
    -D BUILD_opencv_python3=ON ..

这里我不进行python2.7的链接,只进行了python3版本的链接,然后产生了cmake的config信息,从信息中我们可以看出cmake是否找到了合适的依赖包以及其他环境(以下显示python3版本正确找到了,还有numpy包):

代码语言:javascript
复制
...
[cmake] General configuration for OpenCV 4.0.0 
...
[cmake]     Eigen:                       YES (ver 3.3.5)
[cmake]     Custom HAL:                  NO
[cmake]     Protobuf:                    build (3.5.1)
[cmake]   OpenCL:                        YES (no extra features)
[cmake]     Include path:                NO
[cmake]     Link libraries:              -framework OpenCL
[cmake]   Python 3:
[cmake]     Interpreter:                 /Users/oldpan/anaconda/bin/python (ver 3.6.1)
[cmake]     Libraries:                   /Users/oldpan/anaconda/lib/libpython3.6m.dylib (ver 3.6.1)
[cmake]     numpy:                       /Users/oldpan/anaconda/lib/python3.6/site-packages/numpy/core/include (ver 1.15.4)
[cmake]     packages path:               lib/python3.6/site-packages
[cmake]   Python (for build):            /usr/bin/python2.7
[cmake]   Java:                          
[cmake]     ant:                         NO
[cmake]     JNI:                         /System/Library/Frameworks/JavaVM.framework/Headers /System/Library/Frameworks/JavaVM.framework/Headers /System/Library/Frameworks/JavaVM.framework/Headers
[cmake]     Java wrappers:               NO
[cmake]     Java tests:                  NO
[cmake]   Install to:                    /usr/local
[cmake] -----------------------------------------------------------------
[cmake] Configuring done
[cmake] Generating done

在观察完cmake的config信息之后,我们依次执行:

代码语言:javascript
复制
make -j4  # 这里我是4线程 cpu不同线程不同
sudo make install

如果不出问题的话,就算安装完毕了。

测试

安装后当然要测试一下OpenCV是否安装正确,具体测试可以查看这篇文章:Ubuntu下源码安装Opencv完全指南

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-12-2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 安装细节
    • 依赖包
      • 编译工具
      • python
      • 其他依赖包
      • 编译
      • 测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档