imagen fundamentos ii

Post on 03-Jul-2015

5.955 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Software para el procesamiento de imagen

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

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)

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

¿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

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.

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

Instalación de la cámara

Guppy F-046B

Verificar controlador IEEE 1394

Software dedicado

Instalación de la cámara (II)

AVT SmartViewReconocer la cámara

Instalación de la cámara (III)

Definición de características

Instalación de la cámara (IV)

Adquirir imágenes

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

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

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

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

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')

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);

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

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);

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);

Imaqtool

Ajuste de los parámetros de la cámara

Adquiriendo vídeoSimulink:

Image Adquisition Toolbox

Video and Image Processing

Blockset

Salvando vídeoSimulink:

Image Adquisition Toolbox

Video and Image Processing

Blockset

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

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()

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• …..

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

Algoritmos de procesamiento (IV)

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

Transformadas• Coseno• Fourier• Hough

Conversión a binario

Conversión a binario (umbral automático)

Cambiar tamaño de una imagen

Selección de submatriz

Contador de elementos de una imagen

Obtención de contornos

Extracción de líneas

Supresión de ruído

top related