Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Algoritmo comprensión dct(yango colmenares)
1. Instituto Politécnico Nacional
Introducción a los Sistemas de Comunicación Seguros
Unidad MISTI Culhuacan
Presentado a: Dr. Gualberto Aguilar Torres
Algoritmo de comprensión
DCT
13
Por: Yango Alexander Colmenares
Fecha
Noviembre de 2013
%% INSTITUTO POLITECNICO NACIONAL-MISTI CULHUACAN --- MEXICO DF 2013
%%Desarrollado por:Yango Colmenares
%Presentado a : Dr. Gualberto Aguilar Torres
%Programación en Matlab
%Código COSENO Y ZIGZAG CON IMAGEN JPG A COLOR
%%%%%%%%%%%%INGRESO Y CAPTURA DE LA IMAGEN
clc;
clear all;
choice = menu('Choose a code for run','Red','Blue','Green')
block = 8;
img = imread('img1.jpg');
img = rgb2gray(img);
[h w] = size(img);
%Si no es multiplo del bloque recorto la imagen
if mod(h,block) ~=0
tmp = floor(h/block);
img = img(1:tmp*block,:);
end
if mod(w,block) ~=0
tmp = floor(w/block);
img = img(:,1:tmp*block);
end
[h w] = size(img);
%%%%%%%%%ESTABLECER EL NUMERO DE COEFICIENTES
n = input('Numero de coeficientes a tomar por cada bloque de 8x8 (1-
64)n');
imshow(img);
title('Imagen original');
2. %%%%%%%%%%%%%%TRANSFORMACIÓN
coef = [];
tic;
dctMatrix = zeros(h,w);
for i=1:8:h
for j=1:8:w
dctMatrix(i:(i-1)+block,j:(j-1)+block) = dctII(img(i:(i-
1)+block,j:(j-1)+block), block);
coef = [coef zigzag(dctMatrix(i:(i-1)+block,j:(j-1)+block), n)];
end
end
toc;
%%%%%%%%%%%%MODULO INVERSA DEL ZIGZAG PARA EL ARCHIVO JPG SALIDA
k = 1;
tic;
I = zeros(h,w);
for i=1:8:h
for j=1:8:w
I(i:(i-1)+block,j:(j-1)+block) = IdctII(zigzaginv(coef(k:(k-
1)+n), block, n), block);
k = k + n;
end
end
toc;
I = uint8(I);
figure;
imshow(I);
title('Imagen después de DCT');