Valores singulares para comprimir imagenes

El siguiente código de Matlab realiza la compresión de imágenes utilizando los valores singulares. Para ello se toman los primeros m valores singulares de la siguiente expresión:

A = \sigma_1 u_1 v_1^H + \cdots + \sigma_r u_r v_r^H

para crear la imagen comprimida:

$latex A = \sigma_1 u_1 v_1^H + \cdots + \sigma_k u_k v_k^H\quad \mathrm{con}\ k < r $ y con $latex r = Rg(A)$

  1. Lo primero cargamos el archivo/imagen

    >> img = imread(‘bet.jpg’);

  2. Transformamos la imagen a niveles de grises y a números reales

    >> img1 = rgb2gray(img);
    >> img2 = im2double(img1);

  3. Utilizamos la SVD para generar A_k (en este caso k=10)

    >> aksvd(img2,10)

Los archivos que necesitas son: 

  1. La función aksvd(img,k) que calcula la matriz A_kaksvd.m
  2. Las imagenes: bet.jpgsciencemuseum.jpg

You may also like...

1 Response

  1. daniel says:

    buena stardes , no pude descargar los archivos de esta pagina me podria ayudar porfavor

Leave a Reply

Your email address will not be published.