Opencv

Solo disponible en BuenasTareas
  • Páginas : 5 (1099 palabras )
  • Descarga(s) : 9
  • Publicado : 1 de agosto de 2010
Leer documento completo
Vista previa del texto
Que es OPenCV?

OpencV son unas librerías de código abierto para visión por computador. La librería está escrita en C y C++ y corre bajo Linux, Windows y Mac OS X.

Mi primer proyecto con OpenCV.

1. Incluir las rutas básicas de los archivos de inclusión necesarios para el uso de OpenCV

[pic]

Incluir en Herramientas->Opciones

C:\Program Files\MicrosoftSDKs\Windows\v6.0A\Include

C:\Program Files\OpenCV\cv\include

C:\Program Files\OpenCV\cvaux\include

C:\Program Files\OpenCV\cxcore\include

C:\Program Files\OpenCV\ml\include

C:\Program Files\OpenCV\otherlibs\cvcam\include

C:\Program Files\OpenCV\otherlibs\highgui

2. Incluir las rutas básicas de los archivos de biblioteca necesarios para el uso de OpenCV

Incluir en Herramientas->OpcionesC:\Program Files\OpenCV\lib

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib

3. Adicionar las librerias cxcore.lib, cv.lib, ml.lib, cvaux.lib, cvcam.lib, highgui.lib, gdi32.lib, ole32.lib, strmiids.lib, quartz.lib, en Propiedades del proyecto.

[pic]

4. Escoger la compatibilidad en Compatible con Common Language Runtime (/clr) como muestra la figura

[pic]

5.Adicionar las siguientes librerías en la declaración de librerías del formulario.

#include "cxcore.h"
#include "highgui.h"
#include "time.h"
#include "windows.h"
#include

Representación y estructura de una imagen en Opencv.

IplImage es la estructura que más frecuentemente se usa en OPenCV para representar una imagen, ya sea en escala de grises, a color o RGBa.

Ladefinición de la estructura IplImage es la siguiente.

typedef struct _IplImage {
int nSize;
int ID;
int nChannels;
int alphaChannel;
int depth;
char colorModel[4];
char channelSeq[4];
int dataOrder;
int origin;
int align;
int width;
int height;
struct _IplROI* roi;
struct _IplImage* maskROI;
void* imageId;
struct _IplTileInfo* tileInfo;
int imageSize;
char* imageData;
int widthStep;int BorderMode[4];
int BorderConst[4];
char* imageDataOrigin;
} IplImage;

Ejercicio #1

1. IplImage *imagen= new IplImage();
2. imagen= cvLoadImage("C:\Cmadrigal\Inf2009\2009\Vision Artificial\clase#1\Imagene_Usadas\2.jpg");

3. System::Drawing::Bitmap ^img1= gcnewSystem::Drawing::Bitmap(Imagen->width,Imagen->height,Imagen->widthStep,System::Drawing::Imaging::PixelFormat::Format24bppRgb, IntPtr(Imagen->imageData));

4. pbImagen->Image=img1;

En 1 se crea una variable llamada imagen del tipo IPLIMAGE.

En 2 cvloadimage es una estructura que reserva automaticamente el espacio de memoria necesario para albergar la imagen ubicada en la direccion mostrada por el argumento. Esta función pude cargar diferentes formatos de imágenes como BMP, DIB, JPEG, JPE, PNG,PBM, PGM, PPM, SR, RAS, y TIFF. cvLoadImage retorna un apuntador a la posición donde fue guardada la imagen, que luego sera utilizado para poder manipular la imagen.
En 3 se crea un constructor de la clase Bitmap de System::Drawing para mostrar la imagen en un pictureBox. Los argumentos de esta clase son:

• Bitmap(int width, int height, int stride,System::Drawing::Imaging::PixelFormat format, IntPtr scan0);• width es el ancho en pixeles de la imagen
• height es el alto en pixeles de la imagen
• stride es un entero que especifica el desplazamiento en bytes entre el principio de una línea de exploración y la siguiente. Su valor es análogo a widthStep de la estructura IplImage de Opencv.
• Format escoge el formato de los pixeles. En la tabla...
tracking img