interpolation between sequnce of images

19 次查看(过去 30 天)
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

采纳的回答

KSSV
KSSV 2016-11-28
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 个评论
tala
tala 2016-11-28
hello sir thanks for your attention could you please tell me what are m and n? and what does rand do here?
KSSV
KSSV 2016-11-28
m, n are dimensions....rand, I created a random matrix to replicate the frames.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by