Agroindustria

Páginas: 5 (1226 palabras) Publicado: 2 de junio de 2012
MATLAB: Introducción al
procesamiento de imágenes
Visión por Computador
Esther de Ves Cuenca

Representación de imágenes en MATLAB
Matlab almacena las imágenes como
vectores bidimensionales (matrices), en el
que cada elemento de la matriz
corresponde a un sólo pixel.

Trabajar con imágenes en matlab
es equivalente a trabajar con
el tipo de dato matriz

1

Tipos de imágenes enmatlab:
• Imágenes indexadas
1

2

3

5

3

3

3

2

2

1

3

4

2

2

7

8

• Imágenes en niveles de
gris
2

3

3

2

0

0.6

0.03

0.29

0.06

0.06

20 32 31

2

0

18 30 20

2

B

0

7

5

G

0.06

1

R

8

Tipos de imágenes en matlab
• Imágenes binarias
1

0

0

0

1

1

0

0

1

1

0

01

1

1

0

61
62
65
63

63
63
63
67

• Imágenes RGB (color)

R
63 65
61 59
63 66
67 63
29 30
62 63
65 10
63 62

G
34
34
10
50

36
38
65
63
40
62
65
50

B
45
18
63
53

34
29
63
68

38
32
66
70

2

Tipos de imágenes (según tipo de
de dato de sus elementos)
El tipo de dato matriz, que contendrá una imagen puede
ser de varios tipos(según el tipo de dato de cada pixel):
• double Doble precisión, números en punto flotante que
varían en un rango aproximado de -10308 a 10308 (8
bytes por elmento)
• uint8 Enteros de 8 bits en el rango de [0,255] (1 byte por
elemento)
• uint16 Enteros de 16 bits en el rango de [0, 65535] (2
bytes por elemento)
• uint32 Enteros de 32 bits en el rango de [0, 4294967295]
(4 bytes porelemento)
• int8 Enteros de 8 bits en el rango de [-128, 127] (1 byte
por elemento)

• int16 Enteros de 16 bits en el rango de [32768, 32767] (2 bytes por elemento)
• int32 Enteros de 32 bits en el rango de [2147483648,2147483647] (4 bytes por
elemento)
• logical Los valores son 0 ó 1 (1 bit por
elemento)

3

Comando

Convierte a

Tipo válido de entrada

im2uint8

uint8

logical,uint8, uint16 y double

Im2uint16

uint16

logical, uint8, uint16 y double

Im2double

double

uint8, uint16 y double

Im2bw

logical

uint8, uint16 y double

f = [0 0.5; 0.75
g = [0 0.3; 0.7 0.9];
1.0];
gb = im2bw(g, 0.6)
g = im2uint8(f)
gb = [0 0 ;1 1]
g =[0 128 ;191 255]
Nota: Se pueden utilizar también las
funciones de conversión de tipo, pero
el resultado esdiferente

Leer y escribir imágenes
• Para leer una imagen en matlab:
imread(nombrefichero)
im = imread(‘foto.tif’);

• Para escribir (guardar) una matriz en
fichero:
imwrite(var, nombrefichero)
imwrite(im,‘foto.tif’);

4

Visualizar una imagen
• Para visualizar una imagen:
imshow(imagen_var);

• Para que se cree una nueva figura:
figure; imshow(imagen_var);

• Permite ver losvalores de cada uno de los
pixeles en la imagen:
figure; imshow(imagen_var);pixval on;

Visualizar según tipo de dato
• La función imshow permite visualizar una
imagen del tipo uint8 ([0,255]) como
distintos niveles de gris:
• La función imshow visualiza una imagen
del tipo double([0,1]) como distintos
niveles de gris:
uint8
0

Si la imagen es de tipo
double, con valores
mayores de 1,es necesario
escalar (imagesc)

double
255

0

1

5

Imagen: como una matriz
• ¿Cómo se accede a cada
pixel de la imagen?
– De la misma forma que
se accede a un elemento
en una matriz en matlab

col
88

180

78

150

155

56

23

150

150

150

0

34

10

9

150

150

0

6

6

8

150

150

0

fil

150

90

0

– Con lafunción de la
toolbox de imagen

92

78

valor = imagen(fil,col)

5

4

9

0

150

valor = impixel(im,col,fil);
[c,r,valor]=impixel;%interactivo

180

imagen

Otras funciones básicas
• Tamaño de una
matriz: size

band, contiene el
número de bandas de
la imagen
imagen gris = 1
imagen color = 3

[fil,col] = size(imagen)
o
[fil,col,band]=size(imagen)

• Cambiar...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • AgroIndustria
  • agroindustria
  • agroindustria
  • Agroindustria
  • agroindustrias
  • Agroindustria
  • agroindustria
  • agroindustria

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS