Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tutorial
Tutorial
Representacin de imgenes en MATLAB Matlab almacena las imgenes como vectores bidimensionales (matrices), en el que cada elemento de la matriz corresponde a un slo pixel.
Trabajar con imgenes en matlab es equivalente a trabajar con el tipo de dato matriz
3
1 2
R 0 0.06 0.29
G 0 0.6 0.06
B 0 0.03 0.06
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
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)
Comando
im2uint8 Im2uint16
Convierte a
uint8 uint16
Im2double Im2bw
double logical
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 tambin las funciones de conversin de tipo, pero el resultado es diferente
col
92 90 56 78 23 150 150 150 180 155 150 180 150
valor = imagen(fil,col)
78 0
fil
0 0 0
34 6 5
10 6 4
9 8 9
150 150 0
imagen
31 41 51 61
b = imresize(a,0.5))
11 21 31
12 22 32
13 23 33
Ms funciones bsicas
Para girar una imagen:
B = IMROTATE(A,ANGLE,METHOD,BBOX) b= imrotate(a,45,bilinear,crop);
Ms funciones..
Cortar un trozo de imagen:
I2= IMCROP(I,RECT) RECT =[xmin,ymin,anchura, altura] b= imcrop(a,[20,30,100,100]); b=imcrop(a)
recorte interactivo
Acceder a un elemento:
valor = A(fil,col)
Manipular matrices
Seleccionar un trozo de la matriz: B=A(i:j,n:m) crear una matriz B compuesta por los elementos en las filas [i,j] y las columnas [m,n] Operador : selecciona toda una fila o toda una columna (permite tambin pasar de matriz a vector columna)
88 78 0 92 90 56 78 23 150 150 150 180 155 150 180 150
B= A(2:4,2:5)
0 0 0
34 6 5
10 6 4
9 8 9
150 150 0
B= A(:,6)
Se pueden aplicar los operadores relacionales sobre una matriz (> < == ~=)
B = A > umbral; B = A == umbral; B es de tipo logical
10