Compresión de imágenes usando la DCT
Un mapa de bits o BMP
es un conjunto de puntos formando una imagen. Está compuesto por una
serie de matrices bidimensionales. Estas matrices contienen los valores
que corresponden a la cantidad de color rojo (R), verde (G) y azul (B)
que componen a la imágen. |
Leemos una imagen, la transformamos a escala de grises y obtenemos las frecuencias que contribuyen.
Luego eliminamos frecuencias y reconstruimos la imagen.
import
matplotlib.pyplot as plt
#paquete para graficar # leemos la imagen
# antitransformada de coseno discreta # frecuencias no nulas luego
# reconstruimos la imagen con menos frecuencias # mostramos la imagen |
Aquí está el código Matlab del ejemplo descargar.
Resultados
![]() |
|
Imagen original a color (RGB). | |
![]() |
|
Imagen original, Q=0 y 100% de los coeficientes de las frecuencias. |
|
![]() |
|
Q=10, nos quedamos con el 24% de los coeficientes. |
|
![]() |
|
Q=20, nos quedamos con el 9% de los coeficientes. |
|
![]() |
|
Q=40, nos quedamos con el 3% de los coeficientes. |
|
![]() |
|
Q=60, nos quedamos con el 2% de los coeficientes. |
|
![]() |
|
Q=100, nos quedamos con el 0.65% de los coeficientes. |
|
![]() |
|
Q=200, nos quedamos con el 0.25% de los coeficientes. |
|
![]() |
|
Q=400, nos quedamos con el 0.097% de los coeficientes. |
|
![]() |
|
Q=1000, nos quedamos con el 0.025% de los coeficientes. |