Mac 配置opencv并交叉编译ffmpeg

本文详细介绍了在Mac上如何一步步搭建OpenCV的开发环境,包括下载OpenCV源码、安装Homebrew、CMake,以及如何编译和安装。同时,针对编译过程中可能出现的FFMpeg依赖问题,提供了解决方案,如添加编译选项解决zlib缺失的问题。此外,还涵盖了如何交叉编译OpenCV以支持FFMpeg,以及处理版本冲突的策略。
摘要由CSDN通过智能技术生成

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

下载框线这个。

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

这个样可以从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版本后进行解决

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
FFmpeg是一个开源的音视频处理库,而OpenCV是一个开源的计算机视觉库。它们可以通过交叉编译的方式进行整合,以实现音视频处理和计算机视觉的功能。 下面是一种常见的方法来将FFmpegOpenCV进行交叉编译: 1. 配置交叉编译环境:首先,你需要配置交叉编译环境,包括交叉编译工具链和相关的库文件。这些工具链和库文件需要根据你的目标平台来选择和配置。 2. 下载和编译FFmpeg:从FFmpeg官方网站下载最新的源代码,并解压到本地。然后,在终端中进入FFmpeg源代码目录,执行以下命令进行交叉编译: ``` ./configure --prefix=<安装路径> --enable-shared --disable-static --cross-prefix=<交叉编译工具链前缀> --target-os=<目标操作系统> --arch=<目标架构> --extra-cflags="-I<交叉编译工具链头文件路径>" --extra-ldflags="-L<交叉编译工具链库文件路径>" make make install ``` 这些命令将会配置、编译和安装FFmpeg库到指定的安装路径。 3. 下载和编译OpenCV:从OpenCV官方网站下载最新的源代码,并解压到本地。然后,在终端中进入OpenCV源代码目录,执行以下命令进行交叉编译: ``` mkdir build cd build cmake -DCMAKE_TOOLCHAIN_FILE=<交叉编译工具链文件> -DCMAKE_INSTALL_PREFIX=<安装路径> .. make make install ``` 这些命令将会配置、编译和安装OpenCV库到指定的安装路径。 4. 链接FFmpegOpenCV:在你的项目中,你可以使用FFmpegOpenCV的头文件和库文件来进行开发。在编译时,需要指定FFmpegOpenCV的头文件路径和库文件路径,并链接对应的库文件。 以上是一种常见的方法来将FFmpegOpenCV进行交叉编译。具体的配置和编译过程可能会因为不同的平台和工具链而有所差异,请根据你的实际情况进行相应的调整。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值