Apéndice B. Código de Algoritmo de Procesamiento de Imágenes: B.I: Código de Procesamiento de Formas, B.II: Código de Procesamiento de Colores, B.III: Código de Procesamiento de Resultados de los PrimerosReportar como inadecuado




Apéndice B. Código de Algoritmo de Procesamiento de Imágenes: B.I: Código de Procesamiento de Formas, B.II: Código de Procesamiento de Colores, B.III: Código de Procesamiento de Resultados de los Primeros - Descarga este documento en PDF. Documentación en PDF para descargar gratis. Disponible también para leer online.

Apéndice B. Código de Algoritmo de Procesamiento de Imágenes: B.I: Código de Procesamiento de Formas, B.II: Código de Procesamiento de Colores, B.III: Código de Procesamiento de Resultados de los Primeros Dos Pasos- Sistema Móvil de Recuperación de Información Visual Utilizando Formas y Colores para el Reconocimiento de Obras Arquitectónicas - Departamento de

Autor: Enríquez Vásquez, Raúl Antonio

Fuente: http://catarina.udlap.mx/


Introducción



Apéndice B: Código de Algoritmo de Procesamiento de Imágenes Apéndice B.I: Código de Procesamiento de Formas -(NSMutableArray *)analizarForma { int counter = 0; int similarPixels = 0; int maximo = 0; int posicion = 0; int numeroImagenes = 0; UIImage *imagenAnalizar = [self cargarImagen]; NSMutableArray *imagenes = [self recuperarImagenesCanny]; NSMutableArray *imagenesComparadas = [[NSMutableArray alloc] init]; NSMutableArray *similitudes = [[NSMutableArray alloc] init]; NSMutableArray *resultado = [[NSMutableArray alloc] init]; NSMutableArray *similitudesResultado = [[NSMutableArray alloc] init]; identificadoresForma = [[NSMutableArray alloc] init]; numeroImagenes = [imagenes count]; cv::Mat matAnalizar = [self MatFromUIImageColor:imagenAnalizar]; cv::Mat cannyComparar; cv::Mat grayAnalizar; cv::cvtColor(matAnalizar, grayAnalizar, CV_RGB2GRAY); cv::Mat cannyAnalizar; cv::Mat result; cv::Canny(grayAnalizar, cannyAnalizar, 150, 250); while (counter numeroImagenes){ cannyComparar = [self MatFromUIImageGray:imagenes[counter]]; cv::compare(cannyAnalizar, cannyComparar, result, cv::CMP_EQ); similarPixels = cv::countNonZero(result); NSNumber *similitud = [NSNumber numberWithInt:similarPixels]; UIImage *imagenResultado = [self UIImageFromCVMat:cannyComparar]; [imagenesComparadas addObject:imagenResultado]; [similitudes addObject:similitud]; counter ; 106 } if ([imagenesComparadas count] == 0) { return nil; } else{ for (int i = 0; i 4; i ){ maximo = [[similitudes valueForKeyPath:@-@max.self-] intValue]; NSNumber *max = [NSNumber numberWithInt:maximo]; [similitudesResultado addObject:max]; posicion = [similitudes indexOfObject:max]; UIImage *imagenResultado = imagenesComparadas[posicion]; [resultado addObject:imagenResultado]; [similitudes removeObjectAtIndex:posicion]; int idDB = posicion 1; NSNumber *imageID = [NSNumber numberWithInt:idDB]; [identificadoresForma addObject:imageID]; } } NSLog(@-%@-, similitudesResultado); NSLog(@-%@-, identificadoresForma); ...






Documentos relacionados