How can I downsample an image?

7 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)

Catégories

En savoir plus sur Read, Write, and Modify Image dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by