Manual de Instalación y configuración de la librería OpenCV 3 en Mac OSX 10.7 o superior
---------------------------------------------------------------------------------------


1) Instalar XCode:
------------------

- Para Mac OSX 10.7 o superior lo instalaremos directamente desde la App Store



2) Instalar Utilidades de línea de comandos: 
-------------------------------------------

Podemos hacerlo desde el mismo Xcode.  Accederemos en la barra de menús a la opción:

	Menu Xcode/Preferencias/Downloads 

Activaremos la descarga de 'Command line tools' en el menú 'Components'


Instalaremos el  gestor de paquetes  Homebrew:

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


OPCIONES: Instalar Librer’as adicionales:

brew install vtk

sudo install -d -o $(whoami) -g admin /usr/local/share/licenses
brew link vtk


3) Instalar CMake:
-----------------

Descargar la última versión desde:

http://www.cmake.org/cmake/resources/software.html

Instalaremos el paquete y al final nos preguntará por el directorio de instalación de las utilidades en línea de comandos. Indicaremos el siguiente directorio:

	/usr/local/bin/

Si no lo pide, deberemos ejecutar el siguiente comando en el terminal:

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





4) Instalar la librería OpenCV:
-------------------------------
Descargaremos la última versión para Linux/Mac (actualmente opencv-3.4.14.zip):
https://github.com/opencv/opencv/archive/refs/tags/3.4.14.zip

Y los paquetes adicionales  opencv_contrib-3.4.14.zip
https://github.com/opencv/opencv_contrib/archive/refs/tags/3.4.14.zip 


Los ficheros descargados los ubicaremos en una carpeta donde agrupemos nuestros programas o las herramientas de programación.

Descomprimiremos los ficheros (haciendo doble click sobre ellos o con el comando unzip)


Abriremos una consola (/Aplicaciones/Utilidades/Terminal) y nos trasladaremos al directorio en el que se ha descomprimido la librería


cd 'Carpeta donde hemos trasladado la librería'
cd opencv-3.4.14
 
 
5) Compilar la librería OpenCV:
-------------------------------

Ejecutar los siguientes comandos en la consola:

mkdir build
cd build

------------------------
Si tenemos instaladas las versiones 2 y 3 de  python es preciso editar un fichero de cmake previamente y cambiar el orden de bœsqueda:

Editar  cmake/OpenCVDetectPython.cmake

if(PYTHON_DEFAULT_EXECUTABLE)
    set(PYTHON_DEFAULT_AVAILABLE "TRUE")
elseif(PYTHON3INTERP_FOUND) # Use Python 3 as fallback Python interpreter (if there is no Python 2)
    set(PYTHON_DEFAULT_AVAILABLE "TRUE")
    set(PYTHON_DEFAULT_EXECUTABLE "${PYTHON3_EXECUTABLE}")
elseif(PYTHON2INTERP_FOUND) # Use Python 2 as default Python interpreter
    set(PYTHON_DEFAULT_AVAILABLE "TRUE")
    set(PYTHON_DEFAULT_EXECUTABLE "${PYTHON2_EXECUTABLE}")
endif()

------------------

cmake -D BUILD_SHARED_LIBS=OFF  -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local  -D BUILD_PYTHON_SUPPORT=ON  -D WITH_CUDA=OFF  -D WITH_QT=ON -D WITH_VTK=ON -DWITH_OPENGL=ON -D WITH_OPENCL=OFF -D BUILD_EXAMPLES=ON -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.14/modules  -DOPENCV_ENABLE_NONFREE:BOOL=ON  ../


make 

(......Puede tardar bastante tiempo en compilar la librería OpenCV)

La opción -D BUILD_SHARED_LIBS=OFF deberá  quitarse si queremos compilarla como una libraría dinámica compartida.



sudo make install

		(... nos pedirá la clave de la cuenta)


6) Compilar un programa (ej1.cpp):
-----------------------------------

gcc ej1.cpp  -lstdc++  -lm -lopencv_core -lopencv_highgui -lopencv_imgproc 

./ej1

***si no encontrase las librerías o las cabeceras podemos compilar con:

gcc ej1.cpp  -lstdc++  -lm -lopencv_core -lopencv_highgui -lopencv_imgproc  -L/usr/local/lib -I/usr/local/include


7) Compilación con CMAKE:
-------------------------

- Crear una carpeta y colocar en ella el código fuente que deseamos compilar (ej1.cpp)

- Crear un fichero en esa carpeta llamado CMakeLists.txt con el siguiente contenido:

cmake_minimum_required(VERSION 2.8)
project( ej1 )
find_package( OpenCV 3.4 REQUIRED )
add_executable( ej1 ej1.cpp )
target_link_libraries( ej1 ${OpenCV_LIBS} )


- Ejecutar en la consola:

cd 'Directorio del programa'
cmake .
make

./ej1


8) Ejemplos: 

- En la siguiente carpeta tenemos los ejemplos de la OpenCV compilados

cd ~/opencv-3.4.14/build/bin



----------------------------------------------------------------------------------------------------
Visión por Computador (1782)
Grado Ingeniería Electrónica y Automática Industrial
Dpto. Ingeniería de Sistemas y Automática
Universidad Miguel Hernández