interpolation between sequnce of images

9 views (last 30 days)
tala
tala on 27 Nov 2016
Commented: KSSV on 28 Nov 2016
hello i am a beginner in matlab. i have 10 frames of echocardiography so each frame is in a time index.(t1,t3,t5...) i want to interpolate between these images in time domain to make 10 frame to 20 frames to increase the frame rate. could anyone help me. its possible to use interp1 for each pixel, how cani do it? thanks

Accepted Answer

KSSV
KSSV on 28 Nov 2016
m = 100; n = 100 ;
I = rand(m,n,10) ; % your frames
fr = 1:2:20 ; % frame time
fri = 2:2:20 ; % frame time to be inteprolated
Ii = zeros(m,n,length(fri)) ; % initiliaze the interpolated frames
%%inteproaltion
for i =1:m
for j = 1:n
I_ij = squeeze(I(i,j,:)) ;
Ii_ij = interp1(fr,I_ij,fri,'spline') ;
Ii(i,j,:) = reshape(Ii_ij,1,1,length(fri)) ;
end
end
You can vectorize the above one.
  2 Comments
tala
tala on 28 Nov 2016
hello sir thanks for your attention could you please tell me what are m and n? and what does rand do here?
KSSV
KSSV on 28 Nov 2016
m, n are dimensions....rand, I created a random matrix to replicate the frames.

Sign in to comment.

More Answers (0)

Categories

Find more on Interpolation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!