imresize is blurring my image!

15 ビュー (過去 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 件)

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by