How can I downsample an image?

3 vues (au cours des 30 derniers jours)
bkshn
bkshn le 2 Juil 2015
Commenté : bkshn le 8 Juil 2015
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 ?

Réponse acceptée

Walter Roberson
Walter Roberson le 2 Juil 2015
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 commentaires
Walter Roberson
Walter Roberson le 5 Juil 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 le 8 Juil 2015
Hello Walter Roberson
I think it's ok for grayscale image. Could you help me about rgbImage?
thanks

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by