How can I downsample an image?

Hello
I want to downsample an image and I want to replace one pixel in new Image with average of four pixel in first image.
Could you help me ?

 Respuesta aceptada

Walter Roberson
Walter Roberson el 2 de Jul. de 2015

0 votos

Letting the image be IM and assuming it is double(),
NewImage = (IM(1:2:end, 1:2:end) + IM(2:2:end, 1:2:end) + IM(1:2:end, 2:2:end) + IM(2:2:end, 2:2:end)) / 4;

3 comentarios

bkshn
bkshn el 4 de Jul. de 2015
Hello walter Roberson, thanks for your answer.
I have a question Does this formula contains all pixels in an Image?
Could you help me How it works?
Walter Roberson
Walter Roberson el 5 de Jul. de 2015
This formula processes all pixels in the image at the same time. I just noticed that it will fail if the height or width are odd.
It works by taking the average of the pixels at (I,J), (I+1,J), (I,J+1), (I+1,J+1), doing so for every second row and ever second column.
bkshn
bkshn el 8 de Jul. de 2015
Hello Walter Roberson
I think it's ok for grayscale image. Could you help me about rgbImage?
thanks

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

el 2 de Jul. de 2015

Comentada:

el 8 de Jul. de 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by