imresize is blurring my image!

3 vues (au cours des 30 derniers jours)
Michael
Michael le 20 Fév 2013
Hello
I have a 128x128 matrix and I want to scale it down to 32x32. MATLAB's algorithm "imresize" seems to involve a smoothing filter. My original image has sharp gradients across pixel edges which will remain pixel edges in the new image, but these gradients are being lost by a seemingly overenthusiastic filtering step.
Is there a simple way of simply saying "see this 4x4 box? well that's going to be a single pixel in the new image, so take the mean of these 16 values and ignore everything else around it"?
I could try to code this manually but I'm checking that there isn't a quicker alternative, since it'll take me a while.
Regards, Michael

Réponse acceptée

Thorsten
Thorsten le 20 Fév 2013
I = imresize(I, [32 32], 'nearest');
  3 commentaires
Thorsten
Thorsten le 20 Fév 2013
T = blkproc(I, [4 4], @mean2);
Michael
Michael le 20 Fév 2013
Perfect, thanks very much.

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by