- Mac安装OpenCV
项目开发环境使用Mac。Mac下安装OpenCV可以使用Homebrew安装,也可以编译安装。Mac 下安装OpenCV请确保已安装Xcode
Homebrew安装简单介绍如下
进行以下操作前,请确保已安装Homebrew。
首先查找安装包:
$ brew search opencv
opencv opencv@2
安装2.*版本的OpenCV,可以使用以下命令:
$ brew install opencv@2
以下是编译安装opencv的过程
1.安装cmcake
源码安装时,需要使用cmake来构建项目。首先需要安装cmake:
$ sudo brew install cmake
2.下载opencv
下载OpenCV,并切换到指定分支下:
$ git clone https://github.com/opencv/opencv.git
$ cd opencv
$ git checkout 2.4
当前OpenCV主分支版本为4.1,因为我们要使用2.4版本,所以下载后需要切换到2.4分支。
3.编译安装opencv
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
4.验证安装
OpenCV源码的samples目录下,包含一些OpenCV所提供的示例程序,我们可以通过这些示例来验证OpenCV安装是否成功
首先编译这些示例:
$ cd ../samples
$ mkdir build
$ cd build
$ cmake ..
$ make
编译后,可运行运行任意一个示例进行验证,如:
$ ./cpp/cpp-example-em
在MATLAB中使用OpenCV
1.检测环境是否已安装pkg-config
再命令行中输入: pkg-config 若未安装,则提示命令未找到.
2.安装pkg-config
curl -OL http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz -o pkg-config-0.28.tar.gz
tar -xf pkg-config-0.28.tar.gz
cd pkg-config-0.28
./configure --with-internal-glib
make
sudo make install
3.下载mexopencv
4.安装mexopencv
4.1在MATLAB中访问mexopencv目录
在命令行中输入:
mexopencv.make
这时出现了一下错误
make MATLABDIR="/Applications/MATLAB_R2016a.app" MEXEXT=mexmaci64
make: pkg-config: Command not found
make: pkg-config: Command not found
/Applications/MATLAB_R2016a.app/bin/mex -c -cxx -largeArrayDims -Iinclude src/MxArray.cpp -outdir lib
No supported compiler or SDK was found. For options, visit http://www.mathworks.com/support/compilers/R2016a/maci64.html.
make: *** [lib/libMxArray.a] Error 255
make MATLABDIR="/Applications/MATLAB_R2019a.app" MEXEXT=mexmaci64
make: pkg-config: Command not found
make: pkg-config: Command not found
/Applications/MATLAB_R2019a.app/bin/mex -c -cxx -largeArrayDims -Iinclude src/MxArray.cpp -outdir lib
ʹ�� ‘Xcode Clang++’ ���롣
xcrun: error: SDK “macosx10.14.4” cannot be located
In file included from /Users/zhengyuxin/OpenCV/mexopencv-2.4/src/MxArray.cpp:6:
include/MxArray.hpp:14:10: fatal error: ‘opencv2/opencv.hpp’ file not found
#include “opencv2/opencv.hpp”
^~~~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [lib/libMxArray.a] Error 255