Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

idct2

Transformada de coseno discreta inversa 2D

Descripción

ejemplo

B = idct2(A) devuelve la transformada de coseno discreta (DCT) inversa bidimensional de A.

B = idct2(A,m,n) y

B = idct2(A,[m n]) rellena con ceros o recorta la matriz A hasta el tamaño m por n antes de aplicar la transformada inversa.

Ejemplos

contraer todo

Lea una imagen en el área de trabajo y, después, conviértala en escala de grises.

RGB = imread('autumn.tif');
I = im2gray(RGB);

Realice una DCT 2D de la imagen en escala de grises utilizando la función dct2.

J = dct2(I);

Muestre la imagen transformada utilizando una escala logarítmica. Observe cómo la mayor parte de la energía está en la esquina superior izquierda.

imshow(log(abs(J)),[])
colormap parula
colorbar

Figure contains an axes object. The axes object contains an object of type image.

Establezca en cero los valores inferiores a la magnitud 10 de la matriz DCT.

J(abs(J) < 10) = 0;

Reconstruya la imagen utilizando la función DCT inversa idct2. Vuelva a escalar los valores al intervalo [0, 1] previsto para las imágenes de tipo de datos double.

K = idct2(J);
K = rescale(K);

Muestre la imagen original en escala de grises junto a la imagen procesada. La imagen procesada tiene menos detalles de alta frecuencia, como en la textura de los árboles.

montage({I,K})
title('Original Grayscale Image (Left) and Processed Image (Right)');

Figure contains an axes object. The axes object with title Original Grayscale Image (Left) and Processed Image (Right) contains an object of type image.

Argumentos de entrada

contraer todo

Matriz de entrada, especificada como matriz numérica 2D.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Número de filas de imagen, especificado como entero positivo. idct2 rellena la imagen A con valores de 0 o trunca la imagen A para que tenga m filas. m es igual que size(A,1), por defecto.

Número de columnas de imagen, especificado como entero positivo. idct2 rellena la imagen A con valores de 0 o trunca la imagen A para que tenga n columnas. n es igual que size(A,2), por defecto

Argumentos de salida

contraer todo

Matriz transformada mediante una transformada de coseno discreta bidimensional, devuelta como matriz numérica de m por n.

Tipos de datos: double

Sugerencias

  • Para cualquier matriz A, idct2(dct2(A)) equivale a A dentro del error de redondeo.

Algoritmos

idct2 calcula la DCT inversa bidimensional usando:

Amn=p=0M1q=0N1αpαqBpqcosπ(2m+1)p2Mcosπ(2n+1)q2N, 0mM10nN1,

donde

αp={1M, p=0             2M, 1pM1

y

αq={1N, q=0            2N, 1qN1.

Referencias

[1] Jain, A. K., Fundamentals of Digital Image Processing, Englewood Cliffs, NJ, Prentice Hall, 1989, pp. 150-153.

[2] Pennebaker, W. B., and J. L. Mitchell, JPEG: Still Image Data Compression Standard, New York, Van Nostrand Reinhold, 1993.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

expandir todo

Consulte también

| | |