Mac上编译opencv源码

opencv源码是一个神奇的世界,如果想研究opencv的源码,就不能用编译好的库。因为那样调试看不到函数的实现。

在mac上编译opencv源码比较简单,但是也有个坑,所以在此记录下来。

  1. 下载opencv的源码,可以从github或者sourceforge下载。下载好后解压到opencv2.4.13文件夹。
  2. 进入解压之后的OpenCV文件夹,然后新建一个release的文件夹,并进入,执行以下命令。
cmake -G "Unix Makefiles" ..
make
sudo make install

按理编译通过就OK了,但是这里make的时候编译有错:error: “libswscale is necessary to build the newer OpenCV ffmpeg wrapper”这是由于ffmpeg引起的。所以需要确保已经装了ffmpeg。如果没安装,可以通过brew install ffmpeg安装,如果已经安装或者未知,可以通过brew info ffmpeg check一下。
接下来需要修改…/modules/highgui/src/cap_ffmpeg_impl.hpp文件中的一个宏开关。修改如下:

//修改前
#ifdef WIN32
  #define HAVE_FFMPEG_SWSCALE 1
  #include 
  #include 
#else

//修改后
#ifdef 1
  #define HAVE_FFMPEG_SWSCALE 1
  #include 
  #include 
#else

修改后就可以make成功了。

编译成功后就可以在xcode中新建一个工程测试了,新建工程后添加/usr/local/include/usr/local/include, 以及new一个group 把相关lib添加进去就可以运行调试代码了。

你可能感兴趣的:(opencv)