Opencv Configuration on MacOS

1.下载OpenCV
  • 可以到OpenCV官网下载安装文件,根据需要下载对应的版本
  • Cmake,官网下载,然后安装,进行配置
  • 在MacOS下,Xcode的是必须安装的
Opencv安装命令

下载解压资源包后,找到一个文件目录放置,在解压好的文件如:opencv-4.3.0下创建一个新文件目录,命名为release,在终端中进入到这个文件目录,输入以下命令:

$cmake -G “Unix Makefiles” .. (如果提示权限问题,加sudo)
$make (可以加-j2;-j4;-j8等表示多线程编译)
$sudo make install

安装成功后在/usr/local/lib下会有关于libopencvXXX.dylib文件,在/usr/local/include下会有opencv4、opencv2目录
在这里插入图片描述
在这里插入图片描述

通过Homebrew安装
  1. 下载Homebrew,Homebrew是Mac上的一个包管理软件,相当于linux上的apt-get,wget等,根据Homebrew官网的教程下载不出意外是会失败的
第一步,获取install文件

通过如下代码把官网的脚本拿下来

curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install >> brew_install
第二步,更改脚本中的资源链接,替换成清华大学的镜像

就是把这两句

BREW_REPO = “https://github.com/Homebrew/brew“.freeze
CORE_TAP_REPO = “https://github.com/Homebrew/homebrew-core“.freeze

替换成

BREW_REPO = “https://mirrors.ustc.edu.cn/brew.git “.freeze
CORE_TAP_REPO = “https://mirrors.ustc.edu.cn/homebrew-core.git“.freeze

如果镜像有问题,可以换成其他的镜像源,接着执行脚本文件

ruby brew_install

出现报错是因为源不通,更换为其他的国内镜像源

git clone git://mirrors.ustc.edu.cn/homebrew-core.git/ /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core --depth=1

然后把homebrew-core的镜像地址也设为中科院的国内镜像

git remote set-url origin https://mirrors.ustc.edu.cn/brew.git

cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
# 替换核心软件仓库
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

执行更新,成功

brew update

最后用这个命令检查无错误:

brew doctor

最后接着换源:

#替换 cask 软件仓库(提供 macOS 应用和大型二进制文件)
cd "$(brew --repo)"/Library/Taps/caskroom/homebrew-cask
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git

#替换 Bottles 源(Homebrew 预编译二进制软件包)
bash(默认 shell)用户:
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile

zsh 用户:
~ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
~ source ~/.zshrc

执行完以上步骤,你就应该在Mac上安装好了Homebrew,并且可以用它来安装Cmake,OpenCV等

  1. 安装OpenCV
brew install opencv

经过漫长的等待,OpenCV安装完成,可以在/usr/local/Cellar/opencv/4.3.0_3/include/usr/local/Cellar/opencv/4.3.0_3/lib文件目录下分别找到头文件和库文件

  1. 在终端中运行

创建一个文件目录,创建CMakeLists.txt和main.cpp文件

CMakeLists.txt

#版本  
cmake_minimum_required(VERSION 3.15.1)   

#项目名称                                        
project( test )       

#设置OpenCV所在目录,为后面的find_package提供位置                                                      
#OpenCV_DIR为OpenCV源码编译后得到的文件夹(如上面的release目录)                   
set( OpenCV_DIR /Users/hongyi/MyServers/opencv-3.3.1/release)  

#会在OpenCV所在目录查找配置文件OpenCVConfig.cmake  
find_package( OpenCV REQUIRED )    

#向工程添加源文件                                         
add_executable( test main.cpp )    

#添加链接库                                   
target_link_libraries( test ${OpenCV_LIBS} ) 

使用Cmake --Version可以查询Cmake版本,这里需要注意的是,find_package里一定要找到OpenCVConfig.cmake

Main.cpp

#include <opencv2/opencv.hpp>  
using namespace cv;  
int main(int argc, char** argv) {  
    Mat image;  
    image = imread("/Users/..", 1);  //输入正确的图片路径  
    namedWindow("Display Image", WINDOW_AUTOSIZE);  
    imshow("Display Image", image);  
    waitKey(0);  
    return 0;  
}  

在终端运行命令:

$ cmake .
$ make
$ ./test  #生成的二进制文件的文件名
  1. 在Clion中使用

原理和在终端中运行一样,需要将新建项目里的CmakeLists.txt文件加上:

find_package(OpenCV REQUIRED)
target_link_libraries(test_opencv ${OpenCV_LIBS})
  1. 在Xcode中使用
  • 单击项目名,选择”Building Settings” -> “Search Paths”,相应位置填上相应路径,在Header Search Paths里输入: /usr/local/Cellar/opencv/4.3.0_3/include头文件路径,在Library Search Paths里输入:/usr/local/Cellar/opencv/4.3.0_3/lib库文件路径
  • 在项目下创建一个lib group,将相应的lib文件,通过”Add to Files”拷贝进去,文件在上面安装时的库文件目录下,记住替身文件不用添加(就是左下角有箭头的)
运行时出现的错误

一开始运行就出现了,如下错误:
在这里插入图片描述

大概意思就是动态库文件libopencore-amrnb.0.dylib未成功导入,于是就寻找这个文件
在这里插入图片描述
发现果然没有,这里最开始我没看仔细把libopencore-amrwb.0.dylib当成了libopencore-amrnb.0.dylib,我就很疑惑,明明有文件为什么导入不了?于是就走上了岔路…

最后发现opencore-amr是FFmpeg这个库的一项依赖,经过了解FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,具体OpenCV为什么要导入它我也不太清楚,最后经过,重新安装依赖

$ brew install opencore-amr

于是就把libopencore-amrnb.0.dylib这个库安装好了,最后运行
在这里插入图片描述

结束语

一定要看清楚报错信息,认真查看清楚再去搜索。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值