OpenCV  4.5.1
Open Source Computer Vision
Installation in MacOS

Prev Tutorial: Use OpenCL in Android camera preview based CV application

Next Tutorial: Cross compilation for ARM based Linux systems

Original author @sajarindider
Compatibility OpenCV >= 3.4

The following steps have been tested for MacOSX (Mavericks) but should work with other versions as well.

Required Packages

This tutorial will assume you have Python, Numpy and Git installed on your machine.

Note
OSX comes with Python 2.7 by default, you will need to install Python 3.8 if you want to use it specifically.
If you XCode and XCode Command Line-Tools installed, you already have git installed on your machine.

Installing CMake

  1. Find the version for your system and download CMake from their release's page
  2. Install the dmg package and launch it from Applications. That will give you the UI app of CMake
  3. From the CMake app window, choose menu Tools –> How to Install For Command Line Use. Then, follow the instructions from the pop-up there.
  4. Install folder will be /usr/bin/ by default, submit it by choosing Install command line links.
  5. Test that it works by running
    cmake --version
Note
You can use Homebrew to install CMake with
brew install cmake

Getting OpenCV Source Code

You can use the latest stable OpenCV version or you can grab the latest snapshot from our Git repository.

Getting the Latest Stable OpenCV Version

Getting the Cutting-edge OpenCV from the Git Repository

Launch Git client and clone OpenCV repository. If you need modules from OpenCV contrib repository then clone it as well.

For example

cd ~/<my_working_directory>
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

Building OpenCV from Source Using CMake

  1. Create a temporary directory, which we denote as build_opencv, where you want to put the generated Makefiles, project files as well the object files and output binaries and enter there.

    For example

    mkdir build_opencv
    cd build_opencv
    Note
    It is good practice to keep clean your source code directories. Create build directory outside of source tree.
  2. Configuring. Run cmake [<some optional parameters>] <path to the OpenCV source directory>

    For example

    cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=ON ../opencv

    or cmake-gui

    • set the OpenCV source code path to, e.g. /home/user/opencv
    • set the binary build path to your CMake build directory, e.g. /home/user/build_opencv
    • set optional parameters
    • run: "Configure"
    • run: "Generate"
  3. Description of some parameters
    • build type: CMAKE_BUILD_TYPE=Release (or Debug)
    • to build with modules from opencv_contrib set OPENCV_EXTRA_MODULES_PATH to <path to opencv_contrib>/modules
    • set BUILD_DOCS=ON for building documents (doxygen is required)
    • set BUILD_EXAMPLES=ON to build all examples
  4. [optional] Building python. Set the following python parameters:
    • PYTHON3_EXECUTABLE = <path to python>
    • PYTHON3_INCLUDE_DIR = /usr/include/python<version>
    • PYTHON3_NUMPY_INCLUDE_DIRS = /usr/lib/python<version>/dist-packages/numpy/core/include/
      Note
      To specify Python2 versions, you can replace PYTHON3_ with PYTHON2_ in the above parameters.
  5. Build. From build directory execute make, it is recommended to do this in several threads

    For example

    make -j7 # runs 7 jobs in parallel
  6. To use OpenCV in your CMake-based projects through find_package(OpenCV) specify OpenCV_DIR=<path_to_build_or_install_directory> variable.
Note
You can also use a package manager like Homebrew or pip to install releases of OpenCV only (Not the cutting edge).