You are on page 1of 6

GERSON TTITO CRUZ

Curso : PROCESAMIENTO DIGITAL DE SEÑALES


Laboratorio : nº 1
Tema : MANEJO BÁSICO DE IMÁGENES CON MATLAB

1. GENERAR MATRICES:
A. Generar un vector v ascendente de 1 a 10.

 Con el código:

>> v=[1:1:10]

B. Generar un vector w descendente de 10 a 1.

 Con el código:

>> v=[10:-1:1]

C. Generar una matriz diagonal con el vector v como diagonal.

 Con el código:

>> diag(v)

D. Generar una matriz simétrica de diagonal constante con v como


primera fila y primera columna.

 Con el código:

>> toeplitz(v)

E. Generar una matriz simétrica de diagonal constante con w como


primera columna y v como primera fila. (toeplitz)

 Con el código:

>> toeplitz(w,v)

F. Generar una matriz de 10 × 10 con todos los valores iguales a uno.

 Con el código:

>> ones(10)

G. Generar una matriz de 10 × 10 con todos los valores iguales a cero.

 Con el código:

>> zeros(10)
GERSON TTITO CRUZ

H. Generar una matriz identidad de 10 × 10.

 Con el código:

>> eye(10)

I. Matriz de 3x3 con valores comprendidos entre 52 y 71.

 Con el código:

>> F=[52+(71-52)*rand(3)]

J. Medir el tamaño de la matriz anterior con la función size().

 Con el código:

>> size(y)

2. GENERAR MATRICES DE FORMA LINEAL:


a) Matriz de 8x8 con todas las filas iguales y valores crecientes de 0 a
150.

 Con el código:

>> v=linspace(0,150,8);

>> u=[v;v;v;v;v;v;v;v]

b) Matriz de 8x8 con el elemento de la esquina superior izquierda = 10,


el elemento de la esquina inferior derecha = 100 y crecimiento lineal.

 Con el código:

>> u=linspace(10,100,64);
>> a=u(:,1:8);
>> b=u(:,9:16);
>>
>> u=linspace(10,100,64);
>> a=u(:,1:8);
>> b=u(:,9:16);
>> c=u(:,17:24);
>> d=u(:,25:32);
>> e=u(:,33:40);
>> f=u(:,41:48);
>> g=u(:,49:56);
>> h=u(:,57:64);
>> y=[a;b;c;d;e;f;g;h]
GERSON TTITO CRUZ

c) Redondear la matriz anterior, tomar la parte entera y comparar ambas.

 Con el código:

>> round(y)

>> fix(y)

>> v=round(y);
>> x=fix(y);
>> v==x

3. GENERAR MATRICES DE FORMA ALEATORIA:

a) Matriz de 5x5 con valores aleatorios entre 0 y 20.

 Con el código:

>> v=10*rand(5)

b) Matriz una de 6x6 con valores aleatorios entre 5 y 25.

 Con el código:

>> g=20*rand(6)+5

>> fix(g)

c) Repetir los dos apartados anteriores redondeando valores.

 Con el código:

>> round(g)

>> round(v)

4. GENERAR MATRICES MAYORES BASÁNDOSE EN MATRICES MAS


PEQUEÑAS:

a) Partiendo de una matriz de 3x4, y colocando ésta en la esquina


superior izquierda, generar una nueva de tamaño 5x6, rellenando el
resto con ceros.

 Con el código:

>> a=[1 2 3 4; 5 6 7 8; 9 10 11 12];


>> b=zeros(3,2);
>> c=cat(2,a,b);
GERSON TTITO CRUZ

>> d=zeros(2,6);
>> cat(1,c,d)

b) Crear una matriz A de 3x4, otra B de 3x10, otra C de 5X6 y otra D de


5x8, para finalmente componer una nueva matriz: AB
CD

 Con el código:

>> a=rand(3,4);
>> a=rand(3,4);
>> b=rand(3,10);
>> c=rand(5,6);
>> d=rand(5,8);
>> e=cat(2,a,b);
>> f=cat(2,c,d);
>> g=cat(1,e,f);
>> round(g)

5. EXTRAER UNA MATRIZ MAS PEQUEÑA DE OTRA MÁS GRANDE:

Partiendo de una matriz de 8x8, extraer las cuatro matrices de 4x4 que
se pueden formar dentro de ella.

 Con el código:

>> u=round(0+(64-0)*rand(8));
>> a=u(1:4,1:4);
>> b=u(1:4,5:8);
>> c=u(5:8,1:4);
>> d=u(5:8,5:8);
>> a

>> b

>> c

>> d

>> u
GERSON TTITO CRUZ

6. EFECTUAR OPERACIONES CON MATRICES:

Tomando como referencia las matrices del punto 5, realizar las


siguientes operaciones: A +D , C + B , A – C , A – B, 3B y calcular la
matriz inversa de las cuatro matrices A,B,C,D.

 Con el código:

>> a+d

>> c+b

>> a-c

>> a-b

>> 3*b

>> inv(a)

>> inv(b)

>> inv(c)

>> inv(d)

7. VISUALIZAR UNA MATRIZ COMO SI FUESE UNA IMAGEN:

a) Crear una matriz de tamaño 8x8 con valores enteros comprendidos


entre 0 y 255, y luego visualizarla:
- image(x); colormap(gray(255)).
- imshow(x, [ ]). Con esto se ajustan niveles automáticamente.
- Especificar directamente el escalado de ejes (axis)

 Con el código:

>> x=0+(255-0)*rand(8);
>> image(x);
>> colormap(gray(255))
>> imshow(x,[0 50])

b) Colocar textos sobre los ejes coordenados (xlabel, ylabel).

>> title('Matriz 8x8 con valores entre 0 y 255')


>> xlabel('Columnas')
>> ylabel('Filas')
GERSON TTITO CRUZ

8. OBTENER UNA MATRIZ A PARTIR DE UNA IMAGEN


a) Preparar previamente una imagen con su foto en formato bmp en D:\...
b) Utilizar para leer la imagen el comando imread.
c) Comprobar que la matriz obtenida al leer una imagen es formato uint8.
d) Pasarlo a formato doublé.
e) Visualizar el contenido de la matriz como si fuese una imagen.

 Con el código:

>> f=imread('E:\Foto\familia.bmp');
>> whos f

>> x=im2double(f);
>> image(x)

You might also like