imagen fundamentos ii

36
Software para el procesamiento de imagen

Upload: omar-sanchez

Post on 03-Jul-2015

5.954 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Imagen Fundamentos II

Software para el procesamiento de imagen

Page 2: Imagen Fundamentos II

Sistemas para procesar imagen

Pasos del procesamientode imagen:

Selección de la óptica

Generación de imagen por la cámara

Evaluación y procesamiento de la imagen

Transmisión y presentación de los resultados

Page 3: Imagen Fundamentos II

Algunos fabricantes de software: National Instruments: http://www.ni.com/ NeuroCheck: http://www.industrialvision.co.uk/ Sherlock: http://www.edmundoptics.com/ Inspection Builder: http://www.pptvision.com/ Sapera Essential: http://www.coreco.com/ VisiQuest: http://www.accusoft.com/ ImagePro: http://www.adept.net.au/ CommonVisionBlox: http://en.commonvisionblox.de/ VisionGuide: http://www.robots.epson.com/ eVision: http://www.euresys.com/ FanucRobot: http://www.fanucrobotics.com/ MatroxInspector: http://www.matrox.com/ PreciseVision: http://www.innovation-matrix.com/

Sistemas para procesar imagen (II)

Page 4: Imagen Fundamentos II

Algoritmos: Mejora de imagen (contraste, histograma,…) Transformaciones geométricas (rotar, escalado,…) Filtros (suavizado, bordes, morfología,…) Transformación binaria Detección de bordes Posición de formas Coincidencia de formas Modelos geométricos (líneas, círculos,…) Características de formas geométricas Código de barras y matrices de puntos Reconocimiento de formas y caracteres Clasificación (Redes Neuronales) Medición de distancias …

Ejemplo: NeuroChek

Page 5: Imagen Fundamentos II

¿Matlab?

Extensión de recursos para aplicaciones:Documentación: http://www.mathworks.comWebinars: http://www.mathworks.comDesarrolladores independientes: http://www.mathtools.net/MatlabCentral: http://www.mathworks.com/matlabcentral/

Matlab e imagen:Toolboxes: Adquisición de imágenes: Exportar e importar imágenes y vídeo,

Compatible con varios fabricantes Procesamiento de imágenes: Procesamiento y análisis

Simulink: Blockset de Procesamiento de Imágenes

Page 6: Imagen Fundamentos II

Matlab e imagenOtras Toolboxes integrables a imagen: Procesamiento de señales Wavelet Redes Neuronales Estadística Lógica Borrosa Base de Datos Análisis de mapas

Aplicaciones independientes: MatlabCompiler

Libros clásicos: González, R.; Woods, R.; Eddins, S.: “Digital Image Processing using

Matlab”. 2004.

Page 7: Imagen Fundamentos II

Desarrollos que utilizan MATLAB

Cápsula para análisis intestinal

Escáner huellas dactilares

Quemaduras en pacientes

Genes que reproducen cáncer

Estudio de medicamentos anti-inflamatorios

Page 8: Imagen Fundamentos II

Instalación de la cámara

Guppy F-046B

Verificar controlador IEEE 1394

Software dedicado

Page 9: Imagen Fundamentos II

Instalación de la cámara (II)

AVT SmartViewReconocer la cámara

Page 10: Imagen Fundamentos II

Instalación de la cámara (III)

Definición de características

Page 11: Imagen Fundamentos II

Instalación de la cámara (IV)

Adquirir imágenes

Page 12: Imagen Fundamentos II

Instalación de la cámara (V)

Controlador genérico IEEE 1394 para interfaz de cámara a Matlab

I.- Descargar e instalar el programa "CMU 1394Camera“(Universidad de Carnegie Mellon )

•Controlador se instala con la cámara desconectada

•Se apaga el ordenador, se conecta la cámara

•Se inicializa el sistema

Page 13: Imagen Fundamentos II

Instalación de la cámara (VI)

Ejecutar el programa "1394Camera Demo”

•Activar: Camera -> Check link (detecta la cámara).•Seleccionar la cámara: Camera -> Select Camera•Inicializar la cámara: Camera -> Init Camera•Mostrar la imagen: Camera -> Show Camera

Page 14: Imagen Fundamentos II

Adquisición de imágenes y video con Matlab

Pasos para la adquisición de imágenes:

Creación: Crear un objeto de entrada de vídeo

Configuración: Definir las propiedades del objeto y visualizar propiedades de la configuración

Adquisición: Se adquieren datos del objeto de entrada de vídeo

Finalización: Se borra el objeto de entrada de vídeo que ha sido creado

Page 15: Imagen Fundamentos II

La creación del objeto

IMAQHWINFO: Informa del hardware instalado (adaptadores)>>InstalledAdaptors: {'coreco' 'winvideo'}

IMAQHWINFO('winvideo'): Información de adaptador particular>>ans = >>DeviceIDs: {[1] [2] [3]} % Existen tres dispositivos de video

vid1 = videoinput('winvideo', 3): Crea objeto de entrada de vídeo (conexión Matlab-Hardware de Adquisición)>>Input Object Using 'Creative WebCam Live! Ultra (VFW)‘

vid2 = videoinput('winvideo', 2)>> Input Object Using 'Conceptronic Funcam‘

preview(vid1): Muestra en ventana el vídeo adquirido

Page 16: Imagen Fundamentos II

Definir propiedades del vídeo

Propiedades actuales del objeto

src1 = getselectedsource(vid1)get(src1)>>VideoFormat = RGB24_352x288>>VideoResolution = [352 288]

• Definir nuevas propiedades

set(src1, 'Contrast', 100)set(src1,'ReturnedColorSpace','grayscale')

Page 17: Imagen Fundamentos II

Ejemplo de sesión

% Se define el dispositivo de adquisición, incluyendo formato >>vidobj = videoinput('winvideo', 1,'YUY2_320x240');

% Ver propiedades actuales del dispositivo>>get(vidobj);

% Ver propiedades que pueden definirse>>set(vidobj);

% Si se desea en blanco y negro, establecer tal propiedad>>set(vidobj,'ReturnedColorSpace','grayscale'); % Verificar la adquisición>>preview(vidobj);

Page 18: Imagen Fundamentos II

Ejemplo de sesión (II)% Cuando se desean adquirir 50 fotogramas, se define>>set(vidobj,'FramesPerTrigger', 50);% Comienza a adquirir las 50 imágenes y las almacena en vidobj>>start(vidobj)% Crea una variable con las imágenes adquiridas%Intensidad:[filas, columnas, 1, cantidad_imágenes]%Color:[filas, columnas, 3, cantidad_imágenes]>>imagenes = getdata(vidobj); % Visualiza la décima imagen>>imshow(imagenes(:,:,:,10)) % Se comprueba que se han adquirido 50 imágenes>>size(imagenes) % se devuelve 480 640 1 50

Page 19: Imagen Fundamentos II

Ejemplo de sesión (III)% Se determina el número de fotogramas por segundo que se admite>>src = getselectedsource(vidobj);>>frameRates = set(src, 'FrameRate');% Lo anterior devuelve%'30.0000'%'20.0000' % Se define el número de fotogramas por segundo (30)>>src.FrameRate = frameRates{1}; % Si se desean adquirir 300 fotogramas, >>duracion = 10; % segundos % Este será el número de fotogramas que se adquirirán>>frameDelay = (str2num( frameRates{1})) * duracion;>>set(vidobj, 'FramesPerTrigger', frameDelay);

Page 20: Imagen Fundamentos II

Ejemplo de sesión (IV)% Se adquieren fotogramas>>start(vidobj); % Esperar porque se termine de adquirir y se almacenan imágenes en % variable>>wait(vidobj, frameDelay+1);>>imagenes = getdata(vidobj); % Se comprueba la cantidad de imágenes adquiridas>>size(imagenes,4)

% Se descartan los primeros 30 fotogramas, parámetro ajustable>>set(vidobj,'TriggerFrameDelay',30);

Page 21: Imagen Fundamentos II

Imaqtool

Ajuste de los parámetros de la cámara

Page 22: Imagen Fundamentos II

Adquiriendo vídeoSimulink:

Image Adquisition Toolbox

Video and Image Processing

Blockset

Page 23: Imagen Fundamentos II

Salvando vídeoSimulink:

Image Adquisition Toolbox

Video and Image Processing

Blockset

Page 24: Imagen Fundamentos II

Formatos video

Image Processing Blockset:

• Soporta formatos: AVI, MPEG, WMV,…• Envía video a monitor o cualquier periférico

conectado al sistema• Ver vídeo en la pantalla del PC• Enviar vídeo al espacio de trabajo Matlab• Editar vídeo

Page 25: Imagen Fundamentos II

Algoritmos de procesamiento

Descriptores estadísticos

• Media• Mediana• Desviación estándar• Varianza• Raíz media cuadrática• PSNR• Mínimo• Máximo

DIPUM: statxture()

Page 26: Imagen Fundamentos II

Algoritmos de procesamiento (II)

Análisis y mejora

• Filtros• Mejora contraste• Ecualizar histograma• Detección de contornos• Detección de esquinas• Detección de movimiento• …..

Page 27: Imagen Fundamentos II

Algoritmos de procesamiento (III)

Conversión de tipos

y transformaciones• Gris a binario• Color a gris• Complemento de imagen• Corrección Gamma• Tipos de datos (8, 16, ..)• Trasladar• Rotar• Cambio de tamaño

Page 28: Imagen Fundamentos II

Algoritmos de procesamiento (IV)

Operaciones morfológicas• Botton-hat• Top-hat• Dilatación• Erosión• Apertura• Cerradura

Transformadas• Coseno• Fourier• Hough

Page 29: Imagen Fundamentos II

Conversión a binario

Page 30: Imagen Fundamentos II

Conversión a binario (umbral automático)

Page 31: Imagen Fundamentos II

Cambiar tamaño de una imagen

Page 32: Imagen Fundamentos II

Selección de submatriz

Page 33: Imagen Fundamentos II

Contador de elementos de una imagen

Page 34: Imagen Fundamentos II

Obtención de contornos

Page 35: Imagen Fundamentos II

Extracción de líneas

Page 36: Imagen Fundamentos II

Supresión de ruído