Práctica 1 Influencia del shutter en el proceso de adquisición de imágenes 1.1. Objetivo de la práctica Se pretende en esta práctica analizar la influencia del obturador electrónico (shutter) de la cámara de captación de vídeo en la etapa de adquisición de imágenes. Dado que la función y necesidad del shutter quedó ya justificada en la asignatura de teoría, aquí se evalúa cuantitativamente su efecto en el proceso de adquisición. Como resultado de la práctica, el alumno deberá mostrar una gráfica de ejemplo del aspecto del histograma de las imágenes adquiridas en cada una de la condiciones diferentes de captación. Además, deberá mostrar gráficamente la evolución de los parámetros N5 , N50 y N95 a medida que varía el valor del shutter. 1.2. Material necesario El material necesario para la realización de la práctica es el siguiente: Una cámara de vídeo JVC TK-C1381. Un ordenador, con MATLAB instalado (incluyendo el toolbox de Image Processing). 1.3. Resultados de la práctica Como resultado de la práctica se debe entregar: El programa MATLAB. Las gráficas y valores de los coeficientes de los ajustes polinómicos que se solicitan, acompañados de los comentarios que el alumno considere oportunos como consecuencia del análisis de los resultados. 1 1.4. DESCRIPCIÓN TÉCNICA PREVIA 1.4. Descripción técnica previa El nivel de luminosidad de una imagen queda perfectamente definido por el histograma de la señal de luminancia, que refleja la frecuencia de ocurrencia de cada uno de los niveles de gris en la imagen. Sobre la información del histograma se pueden definir varios parámetros, que ayudan a caracterizar la evolución del nivel de luminosidad a medida que se hace variar el valor del shutter. Sea NIV el número de niveles de gris presentes en la imagen (típicamente 256 si se dedican 8 bits/píxel, con 0 como nivel de negro y 255 como blanco puro). Si el tamaño de la imagen es F IL × COL píxeles (filas × columnas), y fi la frecuencia absoluta de aparición de cada nivel de gris en el histograma, se pueden destacar los siguientes parámetros: Nivel global de luminosidad ( %): Permite determinar el grado de luminosidad de una imagen por comparación con una imagen de referencia del mismo tamaño que la manejada, pero con todos sus píxeles con nivel blanco (NIV − 1). Su valor oscila entre 0 % (imagen con todos sus píxeles a negro) y 100 % (todo blancos). Se define como: 100 Ng ( %) = N IV −1 i × fi i=0 F IL × COL × (NIV − 1) Para caracterizar completamente el histograma, el parámetro Ng debe ir acompañado de datos que informen de como se distribuyen los píxeles en los diferentes niveles de gris. Habitualmente, los niveles más extremos del histograma suelen corresponderse con ruido captado en el proceso de adquisición. Por ello, como datos relevantes de la distribución de energía en el histograma se suelen analizar los siguientes datos: Nivel de luminosidad al 5 %: Es el nivel de gris N5 tal que, acumulando las frecuencias desde el nivel de negro (en %), incluye, como mínimo, el 5 % del nivel global de luminosidad: 100 N5 → N5 N5 i × fi i=0 Ng × F IL × COL × (NIV − 1) = i × fi i=0 N IV −1 ≥ 0, 05 i × fi i=0 Nivel de luminosidad al 50 %: Igual que el nivel anterior, pero recogiendo, como mínimo, el 50 % del nivel global de luminosidad: 2 Lab. de Tecnologías de Audio y Vídeo. SSR-ETSIT-UPM PRÁCTICA 1. INFLUENCIA DEL SHUTTER EN EL PROCESO DE ADQUISICIÓN DE IMÁGENES N 50 100 N50 → N 50 i × fi i=0 Ng × F IL × COL × (NIV − 1) = i × fi i=0 N IV −1 ≥ 0, 5 i × fi i=0 Nivel de luminosidad al 95 %: Igual que el nivel anterior, pero recogiendo, como mínimo, el 95 % del nivel global de luminosidad: 100 N95 → N 95 N 95 i × fi i=0 Ng × F IL × COL × (NIV − 1) = i × fi i=0 N IV −1 ≥ 0, 95 i × fi i=0 1.5. Procedimiento a seguir en la práctica Puntos importantes a considerar: 1. El objetivo de la práctica es, básicamente, observar y analizar la variación que experimenta el histograma y los parámetros N5 , N50 y N95 a medida que se hace variar el valor del shutter de la cámara de adquisición. Para que este análisis sea efectivo, es necesario que la cámara no disponga de control automático de iris, así como que el control automático de ganancia esté desactivado. 2. Para poder configurar la cámara de vídeo y captar imágenes, es necesario previamente ejecutar la aplicación DT-Acquire en el ordenador. Para ello, seleccionar en el menu de Inicio la opción de Programas – DT-Acquire – DT-Acquire 2.0.0 En la aplicación DT-Acquire, seleccione en el menú Setup la opción Select Device. En la ventana Select Device pulse OK. De nuevo, en el menú Setup, seleccione la opción Actual Size Window. Por último, en el menú Run, seleccione: a) Start Pass Thru para capturar vídeo y mostrarlo en la pantalla del PC. La captura de vídeo se puede detener seleccionando en el menú Run la opción Stop Pass Thru. b) Single Frame Acquire para capturar una única imagen. Estas imágenes se pueden guardar en ficheros, seleccionando en el menú File la opción Save Image File. Para esta práctica, es recomendable guardar todas las imágenes en formato BMP, para lo cual, seleccione en la ventana Save Image File, en File of types la opción *.BMP. ¡Nota importante: guarde todos los ficheros en el directorio que tenga asignado su turno! Lab. de Tecnologías de Audio y Vídeo. SSR-ETSIT-UPM 3 1.5. PROCEDIMIENTO A SEGUIR EN LA PRÁCTICA 3. La cámara que se va a utilizar en la práctica es el modelo TK-C1381 de JVC, que no dispone de auto-iris. Para poder configurar la cámara y alterar cualquiera de sus parámetros, seleccione siempre la opción de visualización de vídeo en pantalla. En esta situación, verifique los siguientes puntos: El bloque óptico de la cámara consta de dos ruedas de ajuste: una para el enfoque, y otra para el control del iris. Modifique la posición de ambas ruedas de ajuste para enfocar la escena captada, y para abrir al máximo el iris de la cámara. Inhabilite el control automático de ganancia (AGC GAIN a 0dB) siguiendo el procedimiento descrito en la sección 1.6, pag. 9 del manual de la cámara. Desconecte el Ajuste de alta sensibilidad (SUPER AGC OFF) siguiendo el procedimiento descrito en sección 1.6, pag. 9 del manual de la cámara. Seleccione el modo manual de operación del obturador electrónico (SHUTTER) en la posición de mínimo tiempo de adquisición. ¡Nota importante: maneje los pulsadores posteriores de la cámara con suavidad! 4. Enfoque la cámara hacia una zona donde no reciba de manera directa la luz de una fuente intensa, tal como una ventana, o un lámpara fluorescente. En estas condiciones, capture y guarde en fichero varias imágenes (3 ó 4) para cada una de las posibles posiciones del shutter, procurando que la cámara no varíe la escena contemplada cuando opere para variar el modo de operación del shutter. 5. Escriba un programa MATLAB que, para cada una de las imágenes capturadas: a) Calcule la imagen de luminancia de cada imagen capturada. Las imágenes con formato BMP están en formato de "verdadero color"(true color), con tres planos, correspondientes a las imágenes de las bandas de rojo (R), verde (G) y azul (B), en el orden enunciado. Cada primario de color RGB está digitalizado con 8 bits/píxel, lo cual hace un total de 24 bits/píxel. Para calcular la imagen de luminancia, es necesario hacer uso de la siguiente ecuación ecuación: Y = 0, 3R + 0, 59G + 0, 11B b) Calcule el histograma. Utilice para ello la función imhist del Image Processing Toolbox. c) Muestre un ejemplo de histograma para cada uno de los modos de funcionamiento del shutter. d ) Calcule los parámetros N5 , N50 y N95 de cada imágen capturada. e) Calcule los valores medios de los parámetros N5 , N50 y N95 en cada modo de funcionamiento del shutter. 4 Lab. de Tecnologías de Audio y Vídeo. SSR-ETSIT-UPM PRÁCTICA 1. INFLUENCIA DEL SHUTTER EN EL PROCESO DE ADQUISICIÓN DE IMÁGENES f ) Muestre en una gráfica (Ni ,valor del shutter) los valores medios anteriores. g ) Teniendo en cuenta el modo habitual de funcionamiento de las cámaras digitales de ajuste y compresión del contraste, explique los resultados obtenidos en las gráficas. El siguiente ejemplo muestra una función de MATLAB que muestra información de una imagen cuyo nombre se le pasa como parámetro y, en el caso de que presente 3 planos de color (RGB), calcula la matriz de luminancia, muestra dicha imagen, y llama a una función denominadavalores para que calcule los parámetros Ng , N5 , N50 y N95 de la imagen de luminancia. -----------------------------------------------------------function ejemploLTAV2 (NomIma) % Programa que muestra informacion de una imagen % y calcula los parametros Nx de su señal de % luminancia fprintf (’Imagen seleccionada: %s\n’, NomIma); info = imfinfo (NomIma, ’BMP’); fprintf(’Formato: %s\n’, info.Format); fprintf(’Tamaño (bytes): %d\n’, info.FileSize); fprintf(’Ancho (pixeles): %d\n’, info.Width); fprintf(’Alto (pixeles): %d\n’, info.Height); fprintf(’Bits/pixel: %d\n’, info.BitDepth); fprintf(’Tipo de mapa de colores: %s\n’, info.ColorType); [ima,cmap] = imread (NomIma, ’BMP’); D=size(ima); if size(D) <= 2 fprintf (’Error: la imagen leida no es truecolor \n’); return; elseif D(3) ~= 3 fprintf (’Error: la imagen leida no es truecolor \n’); return; end Luminancia = 0.3.*double(ima(:,:,1)) + 0.59.*double(ima(:,:,2)) + 0.11.*double(ima(:,:,3)); imshow (uint8(Luminancia)); N = valores (Luminancia) -----------------------------------------------------------Lab. de Tecnologías de Audio y Vídeo. SSR-ETSIT-UPM 5 1.5. PROCEDIMIENTO A SEGUIR EN LA PRÁCTICA Como ejemplo de función para el cálculo de Ng , N5 , N50 y N95 se puede hacer uso del siguiente ejemplo: -----------------------------------------------------------function N = valores(imag); % % % % Cálculo de los parámetros característicos de una imagen que se pasa como parámetro. Para dicho cálculo, se parte del histograma de la imagen Se devuelve N = [Ng N5 N50 N95] [cuentas, pos]= imhist (uint8(imag)); figure; plot(cuentas); D=size(imag); %Array con el número de filas y el de columnas if size(D) > 2 fprintf (’Error: la imagen tiene mas de un plano\n’); return; end suma =0; % cálculo de Ng. for i=1:256 suma= suma + (i-1)*cuentas (i); end; Ng = (100*suma)/(D(1)*D(2)*255); % cálculo de N5. i = 0; cond = 0; suma = 0; while cond==0; i = i+1; suma= suma + (i-1)*cuentas (i); N = (100*suma)/(Ng*D(1)*D(2)*255); if N >= 0.05 cond=1; N5=i-1; end; % del if. end; %del while. % cálculo de N50. 6 Lab. de Tecnologías de Audio y Vídeo. SSR-ETSIT-UPM PRÁCTICA 1. INFLUENCIA DEL SHUTTER EN EL PROCESO DE ADQUISICIÓN DE IMÁGENES i = 0; cond = 0; suma = 0; while cond==0; i = i+1; suma= suma + (i-1)*cuentas (i); N = (100*suma)/(Ng*D(1)*D(2)*255); if N >= 0.5 cond=1; N50=i-1; end; % del if. end; %del while. % cálculo de N95. i = 0; cond = 0; suma = 0; while cond==0; i = i+1; suma= suma + (i-1)*cuentas (i); N = (100*suma)/(Ng*D(1)*D(2)*255); if N >= 0.95 cond=1; N95=i-1; end; % del if. end; %del while. N= [Ng N5 N50 N95]; %Se devuelven todos los parámetros en un array ------------------------------------------------------------ 1.6. Manual de operación de la cámara JVC TKC1381 Lab. de Tecnologías de Audio y Vídeo. SSR-ETSIT-UPM 7