Quantcast
Channel: Implicit None » Teaching
Viewing all articles
Browse latest Browse all 3

Valores singulares para comprimir imagenes

$
0
0

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:

A = \sigma_1 u_1 v_1^H + \cdots + \sigma_k u_k v_k^H\quad \mathrm{con}\ k < r

y con 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

Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles





Latest Images