article

Conceptos básicos


El procesamiento digital de imagenes comprende un curso extenso que no se puede determinar en tan sólo dos páginas

Imagen

Una imagen puede ser vista como una matriz de números de mxn

f(x,y) = \begin{bmatrix} a_{0,0} & a_{1,0} & \cdots & a_{m,0} \\ a_{1,0} & a_{1,1} & \cdots & a_{m,1} \\ a_{0,0} & a_{1,0} & \cdots & a_{m,n} \end{bmatrix}

o como una función bidimensional:f(x,y) = a_{x,y}

Esto para el caso de una imagen con una sola banda, si la imagen tiene más de una banda tenemos o una matriz en tres dimensiones o una función en tres dimensiones:

f(x,y,0) = \begin{bmatrix} a_{0,0,0} & a_{1,0,0} & \cdots & a_{m,0,0} \\ a_{1,0,0} & a_{1,1,0} & \cdots & a_{m,1,0} \\ a_{0,0,0} & a_{1,0,0} & \cdots & a_{m,n,0} \end{bmatrix}

f(x,y,1) = \begin{bmatrix} a_{0,0,1} & a_{1,0,1} & \cdots & a_{m,0,1} \\ a_{1,0,1} & a_{1,1,1} & \cdots & a_{m,1,1} \\ a_{0,0,1} & a_{1,0,1} & \cdots & a_{m,n,1} \end{bmatrix}

etc.

f(x,y,z) = a_{x,y,z} \; \; 0 < z < n

En una imagen los números tienen un intervalo fijo, el cual está determinado por el número de bits de cada pixel. Si la imagen es de n bits, la imagen puede almacenar 2^n valores distintos.

En C o en C++

En el lenguaje C o C++ una imagen puede ser representada como un arreglo bidimensional para el caso de una banda de la siguiente manera:

/* Imagen de 100 x 20 de 8 bits sin signo */
  1. define ROWS 100
  2. define COLS 30
unsigned char Imagen**; /* Arreglo Bidimensional estático */

unsigned char ** Imagen; int i;

Imagen = (unsigned char *)malloc(ROWS*sizeof(unsigned char)); /* En C */ for(i = 0; i < ROWS;i++ ) Imagen* = (unsigned char *)malloc(ROWS*sizeof(unsigned char)); /* En C */ unsigned char * Imagen_8Bits = new unsigned char*;/* */ unsigned char Imagen_16Bits**;

En C++

  1. define ROWS 100
  2. define COLS 30

int i; unsigned char ** Imagen = new unsigned char * *; for(i = 0; i < ROWS;i++ ) Imagen= new unsigned char[COLS; /* En C++ */

Filtros


Los filtros se utilizan para la modificación de imágenes ya sea para detectar los bordes de una escena o para modificar el espacto, otra función de los filtros es para la eliminación de ruido de la imagen.

Al hablar de un filtro nos estamos refiriendo a realizar una Convolución de una matriz con respecto a in pixel y la vecindad de este, esto quiere decir, si la imagen es de 200x300 pixeles y el filtro con el cual se va a realizar la convolución es una matriz de 3x3 entonces se irá desplazando el filtro pixel a pixel iniciando en la posición (1,1) hasta llegar a la (199,299) un ejemplo de un filtro puede ser para la deteción de bordes ya que es un clásico el de Sobel el cual utiliza dos mascaras o filtros los cuales uno detecta los bordes verticales y el otro los horizontales, para obtener los bordes completos se realiza la suma de las imágenes que nos resultaron con los bordes verticales y horizontales.

La magnitud del gradiente es entonces calculada con la siguiente formula: \left | G \right | = \sqrt { G x^2 + G y^2 }

Una magnitud aproximada puede ser calculada de la siguiente forma: \left | G \right | = \left | Gx \right | + \left | Gy \right |

Transformaciones


Transformada_de_Hough

Georreferenciación


Véase también


Enlaces externos


Matemáticas aplicadas

Bildbearbeitung | Digital image processing | Digitale beeldbewerking | Bildbehandling | การประมวลผลภาพดิจิทัล

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Procesamiento digital de imágenes".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld