duda con el comando blkpro
Publicado por danyso (6 intervenciones) el 07/12/2009 06:47:07
hola, tengo un problema con el uso del comando blkpro, este es un comando que se utiliza para el procesamiento de imágenes, quiero utilizarlo para poder realizar la cuantificación, pero me da problemas.
el objetivo de la cuantificación es que: de una matriz grande por ejemplo de 256x256 se la divide en bloques más pequeños de 8x8 y a cada uno de estos bloques se realice una división para la matriz de cuantificación (que es de 8x8) por separado.
el comando blkpro, (tengo entendido) divide a la matriz grande en los bloques de 8x8, el parámetro es: blkproc(I,[m,n],fun), donde I es la matriz, [m,n] es el bloque 8x8 y fun se supone que es la función que se le aplica al bloque [m,n].
no se como establecer la función para que se pueda establecer el proceso de división de cada bloque para la matriz de cuantificación, bueno yo lo estaba haciendo de la siguiente manera:
I=imread('imagen.jpg')
I2=double(I);
q=[1 1 2 4 8 16 32 64 ; 1 1 2 4 8 16 32 64 ; 2 2 2 4 8 16 32 64 ; 4 4 4 4 8 16 32 64 ; 8 8 8 8 8 16 32 64 ; 16 16 16 16 16 16 32 64 ; 32 32 32 32 32 32 32 64 ; 64 64 64 64 64 64 64 64]; %(esta es la matriz de cuantización)
q2=double(q);
i=1;j=1;
fun=(I2(i:i+7,j:j+7))./q2;
y es aquí donde me sale el error, la verdad no se cómo plantearle la función fun espero haber sido bien explícita y ojalá me puedan ayudar esto es parte de un trabajo final, de esto depende que pase o no. de antemano muchas gracias.
el objetivo de la cuantificación es que: de una matriz grande por ejemplo de 256x256 se la divide en bloques más pequeños de 8x8 y a cada uno de estos bloques se realice una división para la matriz de cuantificación (que es de 8x8) por separado.
el comando blkpro, (tengo entendido) divide a la matriz grande en los bloques de 8x8, el parámetro es: blkproc(I,[m,n],fun), donde I es la matriz, [m,n] es el bloque 8x8 y fun se supone que es la función que se le aplica al bloque [m,n].
no se como establecer la función para que se pueda establecer el proceso de división de cada bloque para la matriz de cuantificación, bueno yo lo estaba haciendo de la siguiente manera:
I=imread('imagen.jpg')
I2=double(I);
q=[1 1 2 4 8 16 32 64 ; 1 1 2 4 8 16 32 64 ; 2 2 2 4 8 16 32 64 ; 4 4 4 4 8 16 32 64 ; 8 8 8 8 8 16 32 64 ; 16 16 16 16 16 16 32 64 ; 32 32 32 32 32 32 32 64 ; 64 64 64 64 64 64 64 64]; %(esta es la matriz de cuantización)
q2=double(q);
i=1;j=1;
fun=(I2(i:i+7,j:j+7))./q2;
y es aquí donde me sale el error, la verdad no se cómo plantearle la función fun espero haber sido bien explícita y ojalá me puedan ayudar esto es parte de un trabajo final, de esto depende que pase o no. de antemano muchas gracias.
Valora esta pregunta
0