2013-10-19 7 views
0

나는 같은 차원하지만 난 다음 아래 뺄 수 있도록 내가 동일한 크기를 어떻게해야합니까 크기가 다른 두 개의 이미지를 가지고는 내 이미지동일한 크기의 두 이미지를 만드는 방법은 무엇입니까?

d=imread('dif5.jpg'); 

>> f=size(d); 

>> f 

f = 900  1200   3 

g=ndims(d); 

>> g 

g = 3 

>> h=imread('dif4.jpg'); 

>> j=size(h); 

>> j 

j = 363 484  3 

>> k=ndims(h); 

>> k 

k = 3 

답변

0

당신은 resample 이미지에이의 설명이다; Signal Processing Toolbox에는 구현이 포함되어 있으며 이미지를 타겟으로하는 준비가 완료된 기능이 포함되어 있습니다. 내 머리 위로 떨어져

(테스트하지 않았습니다) :

a = resample(f, 900, 363)'; %% should produce 1200 x 363 x 3 (transposed) image 
b = resample(b, 1200, 484)'; %% produces 363 x 484 x 3 image 

c = b - h; %% diff of the resampled image and the smaller image 
또한

에만 표준 기능을 이용하실 수 있습니다 사용하여 이중 선형, 큐빅 등의 implementations는 :

+0

그래도 문제가 해결되지 않으면 1 차원 벡터를 먼저 시도해보십시오. '[1 2 3 4 5]'를 3, (5) 또는 10 요소의 벡터에 재 샘플링하십시오. 'resample' 함수는 열을 따라 재 샘플링하는 행렬도 다룰 수 있어야합니다. –

0

imresize의 일이다 디자인되었습니다.

d = imread('dif5.jpg'); % 900 x 1200 x 3 
h = imread('dif4.jpg'); % 363 x 484 x 3 
dh = imresize(h,[size(d,1) size(d,2)],'bicubic'); % or 'linear', etc. 
diffImg = dh - d; % 900 x 1200 x 3 
+0

나는 그것을 시도했지만 .. 지금 나는 매트릭스 차원이 동의해야합니다라는 오류가 발생했습니다. – mickey

+0

'size (dh)'와'size (d) '는 무엇입니까? – chappjc

관련 문제