You are on page 1of 13

PRCTICA 1

Grupo de Visin Artificial David Garca Prez


MANEJO BSICO
DE IMGENES
CON MATLAB
MANEJO BSICO DE IMGENES CON MATLAB
Grupo de Visin Artificial David Garca Prez

Imagen tamao Nx pxeles

!n atla"# Imagen $ atriz%es

&ada elemento de la matriz el


tono de gris para im'genes en (%N

)i la imagen es en color* existen


+ matrices* cada una representa el
valor de un tono de color

,os ndices de la matriz son -r*c.*


donde r representa la fila -row. / c
la columna -column.
1
1
2
3
4
N
2
M
3
3 4
MANEJO BSICO DE IMGENES CON MATLAB
Grupo de Visin Artificial David Garca Prez
f(1,1) f(1,2) ... f(1,N)
f(2,1) f(2,2) ... f(2,N)
f(M,1) f(M,2) ... f(M,N)
,e/endo im'genes de disco#
>> f = imread('chestxray.jpg')
>> f = imread('D:\imagees\chestxray.jpg')
>> f = imread('!h"me!#ser!chestxray.jpg')
!sto lo 0ue 1ace es 0ue para una imagen en "lanco /
negro* nos crea una matriz f* donde cada elemento tendr' un
valor de nivel de gris#
f $
MANEJO BSICO DE IMGENES CON MATLAB
Grupo de Visin Artificial David Garca Prez
2"teniendo informacin de f#
Para determinar el tamao de la imagen#
>>si$e(f)
as =
1%2& 1%2&
)i lo 0ueremos almacenar en una varia"le#
>>'M, N( = si$e(f)
)i lo 0ue 0ueremos es o"tener informacin m's detallada
de la imagen#
>>)h"s f
Name *i$e +ytes ,-ass
f 2&.x/%% 010/%% #it2 array
3rad t"ta- is 010/%% e-emets #sig 010/%% 4ytes
MANEJO BSICO DE IMGENES CON MATLAB
Grupo de Visin Artificial David Garca Prez
ostrando Im'genes#
imsh")(f,3)
donde f es la imagen a mostrar / G es el n3mero de niveles
de intensidad a mostrar4 )i G se omite* se usa 5674 ,a sint'xis
es la siguiente
imsh")(f,'-") high()
imsh")(f,'% /%() imsh")(f)
MANEJO BSICO DE IMGENES CON MATLAB
Grupo de Visin Artificial David Garca Prez
8na utilidad interesante de ims1o9 es#
imsh")(f,'()
esto lo 0ue 1ace es expandir el rango din'mico de la imagen*
pone como lmite inferior* el valor mnimo de intensidad de la
imagen / como lmite superior su valor m'ximo
imsh")(f)
imsh")(f,'()
MANEJO BSICO DE IMGENES CON MATLAB
Grupo de Visin Artificial David Garca Prez
Dos apuntes m's so"re imsh")(f):
pix5a-# )i se e:ecuta pix5a- en la consola de atla"* en la
3ltima figura a"ierta* se podr' ver el valor de intensidad
cuando el ratn pasa so"re un pxel concreto4 ; tam"in se
puede medir la distancia eucldea entre dos puntos4
atla" usualmente cuando di"u:a una nueva figura*
so"reescri"e la ventana de la figura anteriormente mostrada4
Para mostrar la segunda figura en una ventana independiente*
e:ecutar lo siguiente
>> fig#re, imsh")(f)
MANEJO BSICO DE IMGENES CON MATLAB
Grupo de Visin Artificial David Garca Prez
Guardando im'genes en disco#
>> im)rite(f, '"m4re6ficher"')
donde f es la matriz 0ue almacena la imagen / filename es
el nom"re de fic1ero donde vamos a guardar la imagen4
filename tiene 0ue tener una extensin 0ue reconozca
atla"* o usar este otro formato#
>> im)rite(f, '"m4re6ficher"', 'tif)
!n estas pr'cticas tra"a:aremos con formato tiff /%o :peg4 !n
el caso de :peg tam"in se puede especificar la calidad de
la imagen#
>> im)rite(f, '"m4re.jpg', '7#a-ity', 7)
MANEJO BSICO DE IMGENES CON MATLAB
Grupo de Visin Artificial David Garca Prez
donde 0 es un numero de < a =<< 0ue especifica la calidad de
la imagen#
ma/or compresin
menor calidad
menor compresin
ma/or calidad
< 6< =<< 444 444
2"teniendo informacin de un fic1ero imagen almacenado en
disco#
>> imfif" "m4re6ficher"
MANEJO BSICO DE IMGENES CON MATLAB
Grupo de Visin Artificial David Garca Prez
>> imfif" pr#e4a.jpg
as =
8i-eame: 'pr#e4a.jpg'
8i-eM"dDate: '%29fe492%%/
11:12:10'
8i-e*i$e: :12/
8"rmat: 'jpg'
8"rmat;ersi": ''
<idth: :%%
=eight: &.&
+itDepth: 2
,"-"r>ype: 'graysca-e'
8"rmat*igat#re: ''
N#m4er?f*amp-es: 1
,"digMeth"d: '=#ffma'
,"dig@r"cess: '*e7#etia-'
,"mmet: AB
MANEJO BSICO DE IMGENES CON MATLAB
Grupo de Visin Artificial David Garca Prez
&lases de im'genes#
double
uint
uint1!
uint32
int
int1!
int32
"in#le
$%&'
lo#i$&l
Do"le precisin* n3meros en punto flotante 0ue varan en un rango aproximado de
>=< a =< -? "/tes por elemento.
!nteros de ? "its en el rango de @<*566A -= "/te por elemento.
!nteros de =7 "its en el rango de @<* 766+6A -5 "/tes por elemento.
!nteros de +5 "its en el rango de @<* B5CBC7D5C6A -B "/tes por elemento.
!nteros de ? "its en el rango de @>=5?* =5DA -= "/te por elemento.
!nteros de =7 "its en el rango de @>+5D7?* +5D7DA -5 "/tes por elemento.
!nteros de +5 "its en el rango de @>5=BDB?+7B?*5=BDB?+7BDA -B "/tes por elemento.
N3mero en punto flotante de precisi simple* con valores aproximadamente en el
rango de >=< a =< -B "/tes por elemento.
&ar'cteres -5 "/te por elemento.
,os valores son < = -= "/te por elemento.
+<? +<?
+? +?
MANEJO BSICO DE IMGENES CON MATLAB
Grupo de Visin Artificial David Garca Prez
Eipos de Im'genes#
I()#ene" de inten"id&d# 8na matriz cu/os valores 1an
sido escalados para representar intensidad4 Pueden ser uint?
uint=74 )i son dou"le* los valores est'n escalados entre @<* =A
I()#ene" bin&'i&"* Im'genes 0ue solamente tienen valor
< =4 )e representan en atla" a partir de arra/s lgicos4 Para
convertir en atla" un arra/ de <Fs / =Fs en arra/ lgico#
>>+ = -"gica-(C)
Para compro"ar si un arra/ es lgico#
>>isD"gica-(C)
devuelve un = si es lgica / un < si no lo es4
I()#ene" inde+&d&",
I()#ene" RGB* )e ver'n m's adelante
MANEJO BSICO DE IMGENES CON MATLAB
Grupo de Visin Artificial David Garca Prez
&onvirtiendo tipos / clases de im'genes#
&omando# &onvirte a# Eipo v'lido de entrada#
im2#it2 uint? logical* uint?* uint=7 / dou"le
im2#it1: uint=7 logical* uint?* uint=7 / dou"le
mat2gray dou"le -@<*=A. dou"le
im2d"#4-e dou"le logical* uint?* uint=7 / dou"le
im24) logical uint?* uint=7 / dou"le
>> f = '% %./E %.1/ 1./(
f =
% %./%%%
%.1/%% 1./%%%
>> g = im2#it2(f)
g =
% 122
1.1 2//
GG g $ @< <4+H <4D <4CA
g $
< <4+<<<
<4D<<< <4C<<<
GG g" $ im5"9-g* <47.
g" $
< <
= =

You might also like