2017-12-12 12 views
0

나는 256x256 이미지를 가지고있다. 나는 그것의 해상도를 줄이고 싶고 이미지의 크기를 똑같이 유지하기를 원한다. 나는 30과 60 밴드 이미지를 위해이 방법을 시도하고 싶다. 이 코드를 발견했습니다.저해상도에서 고해상도까지

I=im2double(imread('cameraman.tif')); 
N=size(I); 
for x=1:N(1)-6 
    for y=1:N(2)-6 
     Sample=I(x:x+6,y:y+6); 
     Lores(x,y)=mean(Sample(:)); 
    end 
end 
figure,imshow(I), title(' Original'); 
figure, imshow(Lores), title(' Low resolution') 

평균 6 픽셀 1입니다. 다른 방법이나 더 좋은 방법이 있습니까?

+0

롤 ... 어느 쪽을 할 수 있습니까? –

답변

2

이미지를 흐리게하기 위해 N-D convolution을 사용하는 방법은 무엇입니까?

img = im2double(imread('cameraman.tif')); 
conv_mat = ones(6)/36; 
img_low = convn(img,conv_mat,'same'); 

figure, imshow(img), title('Original'); 
figure, imshow(img_low), title('Low Resolution') 
+0

conv_mat = ones (6)/36 6과 36은 평균화 할 픽셀 수를 의미합니까? 예를 들어 16 픽셀로하고 싶다면 conv_mat = ones (16)/256이 될까요? –

+1

예. 예를 들어'ones (2)/4'는'2 x 2 픽셀 평균입니다. –

+0

의도 한대로 작동 했습니까? –