imresize is blurring my image!

2 ビュー (過去 30 日間)
Michael
Michael 2013 年 2 月 20 日
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

採用された回答

Thorsten
Thorsten 2013 年 2 月 20 日
I = imresize(I, [32 32], 'nearest');
  3 件のコメント
Thorsten
Thorsten 2013 年 2 月 20 日
T = blkproc(I, [4 4], @mean2);
Michael
Michael 2013 年 2 月 20 日
Perfect, thanks very much.

サインインしてコメントする。

その他の回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by