reducing resolution of an image

조회 수: 4 (최근 30일)
kash
kash 2012년 5월 9일
I have an image having resolution of 256x256,i want to reduce the resolution of image to 128x128,64x64,without using imresize conmmand please help

답변 (4개)

Geoff
Geoff 2012년 5월 9일
Think about it...
If you half the width and height, that means each group of 2x2 pixels becomes one pixel. You average the pixel intensities for each block and set that as your new pixel.
Well, you don't have to average them. You could select one or do any number of statistics on the chunk. But you should start simple.
The rest is just loops and matrix indexing. I'm sure you can cope with that.

Jessica Lam
Jessica Lam 2012년 5월 9일
you may try the following code. for resolution of 470 X 274
set(gcf,'PaperUnits','inches','PaperPosition',[0 0 4.7 2.74])
print('-dpng', 'filename.png', '-r100')
  댓글 수: 1
Walter Roberson
Walter Roberson 2012년 5월 9일
That would seem to be increasing the resolution, rather than decreasing the resolution.

댓글을 달려면 로그인하십시오.


Jessica Lam
Jessica Lam 2012년 5월 9일
just change the vector of PaperPosition from [ 0 0 4.7 2.74 ] to something you want
for example [0 0 1.28 1.28] for 128x128 or [0 0 0.64 0.64] for 64X64
  댓글 수: 1
Walter Roberson
Walter Roberson 2012년 5월 9일
Seems like an expensive way of reducing the resolution...

댓글을 달려면 로그인하십시오.


Walter Roberson
Walter Roberson 2012년 5월 9일
t = fft2(YourImage);
t(:,end/2+1:end) = [];
t(end/2+1:end,:) = [];
SmallerImage = ifft2(t);
or
t = reshape(YourImage, 2, size(YourImage,1)/2, 2, size(YourImage,2)/2, 2);
SmallerImage = cast(permute(mean(permute(mean(t,3),[1 2 4 3]),1),[1 2 3],[2 3 1]),class(YourImage));
  댓글 수: 3
Walter Roberson
Walter Roberson 2012년 5월 9일
For the first one, you might need to use
SmallerImage = cast(ifft2(t), class(YourImage));
For the second one it looks like I had an additional 2:
t = reshape(YourImage, 2, size(YourImage,1)/2, 2, size(YourImage,2)/2);
kash
kash 2012년 5월 9일
walter getting same white figure window ,image is same not displaying ,warning as
Warning: Displaying real part of complex input.
for the next one i get error as
Error using ==> permute
Too many input arguments.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Images에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by