Usar OpenCV en Xcode 4 para una aplicación Mac OS X

Lo primero de todo es instalar OpenCV en Mac OS X. Luego en Xcode 4 crear un nuevo proyecto de aplicación para Mac OS X de tipo “Command Line Tool”.

Poner un nombre de proyecto en “Product Name” y en “Type” elegir “Foundation”.

En la pestaña “Build Settings” (haciendo click en el icono azul del proyecto a la izquierda) añadir a las siguientes opciones estos valores:

Dentro de “Search Paths”:
Header Search Paths: /usr/local/include
Library Search Paths: /usr/local/lib
Dentro de “Linking”:
Other Linker Flags: -lopencv_core -lopencv_highgui -lopencv_imgproc

NOTA: Se pueden añadir más librerías en “Other Linker Flags” para incluir más funciones de OpenCV como por ejemplo:

-lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_contrib -lopencv_calib3d -lopencv_features2d -lopencv_flann -lopencv_ml -lopencv_objdetect -lopencv_video

También es necesario cambiar dentro de “Build Options” el siguiente parámetro ya que sino no funcionarán las funciones para C de OpenCV:

Compiler for C/C++/Objetive-C: LLVM GCC 4.2

En main.m poner este código, compilar (comando+B) y ejecutar (comando+R).

//
// main.m
// OpenCVTest
//
// Created by __MyName__ on 16/09/11.
// Copyright 2011 __MyCompanyName__. All rights reserved.
//

#import 
#import "opencv/cv.h"
#import "opencv/highgui.h"

int main (int argc, const char * argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    
    IplImage* img = cvCreateImage( cvSize( 640, 480 ), IPL_DEPTH_8U, 3 );
    
    cvCircle( img, cvPoint( 320, 240 ), 100, cvScalar( 255, 0, 0 , 255 ), 5, 8, 0 );
    
    cvNamedWindow( "OpenCV Window", CV_WINDOW_NORMAL );
    cvShowImage( "OpenCV Window", img );
    
    cvWaitKey(0);
    
    cvDestroyWindow( "OpenCV Window" );
    cvReleaseImage( &img );
    
    [pool drain];
    return 0;

}

Si falla al compilar es posible que haga falta poner el import de “opencv/cv.h” el primero de todos, pero para que esté realmente el primero de todos hay que ponerlo dentro del fichero .pch (cuyo nombre coincide con el nombre del proyecto) de la carpeta “Supporting Files” de esta manera:

#ifdef __OBJC__
    #import "opencv/cv.h"
    #import 
#endif

Esto se debe a que OpenCV tiene definida una macro MIN que también existe en el framework de Apple y si no se pone la de OpenCV antes aparecen errores del tipo “LLVM GCC 4.2 Error: Statement-expressions are allowed only inside functions”.

Dejar un comentario?

1 Comentarios.

  1. install opencv on macos 10.8.1 | 子龙山人 - pingback on 13 13UTC septiembre 13UTC 2012 :36 10Thu, 13 Sep 2012 10:36:32 +000032.

Deje un comentario

Trackbacks y Pingbacks: