Mac 配置opencv并交叉编译ffmpeg

OpenCV(Open Source Computer Vision Library),是一个开源的跨平台的计算机视觉库,它实现了图像处理和计算机视觉领域的很多通用算法,可以在多种计算机平台上运行,支持C++、C#、Python等语言,也提供了Ruby、Matlab等语言的接口。OpenCV是基于BSD许可证发布的,因此它可以免费应用于科研或商业领域。下面就介绍下如何搭建Opencv开发环境,并将流程和步骤分享给大家。

步骤:

1)下载OpenCV

2)下载Homebrew (已经安装请忽略)

3)下载并安装CMake(已经安装请忽略)

4)使用Cmake编译OpenCV

5)OpenCV交叉编译FFMpeg

6)遇到的报错及其解决方案

一、下载OpenCV

OpenCv官网

7d49287afb384721d0401800e8eb3123.png

 进入OpenCV官网的Release页面,选择适合的版本。Mac上没有安装包,我们需要自己编译source文件。

0bfcf9890fb06557a5191dad4354cc7f.png

 二、下载Homebrew (已经安装请忽略)

官方命令

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

最简单的解决方案就是国内镜像安装。

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

参考地址:安装homebrew_纵使风吹的博客-CSDN博客_安装homebrew

三、下载并安装CMake(已经安装请忽略)

使用命令行安装 
brew install cmake

安装的是最新版,安装速度也很快,但是这个cmake是不带 GUI的

卸载命令
brew uninstall cmake

然后手动安装cmake,去官网下载。

网址:Download | CMake

Mac 配置opencv并交叉编译ffmpeg_第1张图片

下载框线这个。

下载完成后直接双击安装。双击会出现这个界面,直接将cmake图标拖到右边Application文件夹中,这样就可以在launcher中找到cmake了。

Mac 配置opencv并交叉编译ffmpeg_第2张图片

这个样可以从laucher中找到cmake并使用,但是命令行还是查不到cmake,也不能使用cmake。

安装完成之后,使用以下指令创建/usr/local/bin下 CMake 的软链接。

sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install
cmake --version

四、使用Cmake编译OpenCV

参考官方文档:http://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html

安装好Cmake之后,我们使用Cmake进行编译

在opencv目录下,新建一个名为release的文件夹,用于暂存我们的编译文件
31d0d8ac93a334849837f260696de98c.png

在terminal中cd到release目录

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

make

sudo make install

这样就编译好了OpenCV。

五、opencv交叉编译ffmpeg

使用opencv的VideoCapture,获取网络摄像头视频,需要ffmpeg。

1、安装ffmpeg

这里使用Homebrew

brew install FFmpeg 

安装指定版本

brew install FFmpeg@4

卸载

brew uninstall FFmpeg

更新

brew update && brew upgrade ffmpeg

 参考资料https://www.jianshu.com/p/c1e989f793ed

2、交叉编译opencv

使用方法同(四、使用Cmake编译OpenCV)

但是命令变更为以下命令

cd opencv    #进入opencv根目录


mkdir build    #创建编译输出目录


cd build    #进入build 目录


#编译(注意cmake最后需要写两个点)
sudo cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -D WITH_FFMPEG=ON ..


sudo make


sudo make install
 

六、遇到的报错及其解决方案,

1,使用WITH_FFMPEG 编译opencv后进行make报错

make: *** No rule to make target ' zlib ', needed by 'zlib'。

解决方案为编译命令添加 -D BUILD_TIFF=ON

sudo cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -D WITH_FFMPEG=ON -D BUILD_TIFF=ON ..

2、版本冲突问题

最终为较低ffmpeg版本及opencv版本后进行解决

你可能感兴趣的:(opencv,macos,计算机视觉)