Spatial interpolation between two images/frames.
조회 수: 5 (최근 30일)
이전 댓글 표시
Hello everybody,
[Wanted]: I want to estimate (interpolate) middle image between two frames in 'xylophone.mp4', for example I would like to to estimate new frame between existing frames 4 and 6.
[What has been done so far]: Here is what I have done so far:
close all; clear all; clc;
vidObj = VideoReader('xylophone.mp4');
vidHeight = vidObj.Height;
vidWidth = vidObj.Width;
s = struct('cdata',zeros(vidHeight,vidWidth,3,'uint8'),...
'colormap',[]);
k = 1;
while hasFrame(vidObj)
s(k).cdata = readFrame(vidObj);
k = k+1;
end
figure(1);
subplot(1,2,1);imshow(s(4).cdata); title('4th frame');
subplot(1,2,2);imshow(s(6).cdata); title('6th frame');
im1=s(4).cdata;im2=s(6).cdata; t=0.5;
imnew = (1-t)*im1 + t*im2; % linear combination of them.
figure(2);
subplot(1,2,1); imshow(s(5).cdata); title('5th frame');
subplot(1,2,2); imshow(imnew); title('5th frame');
[Need help with]
- Estimate/interpolate image between frame 4 and 6, using following methods: 'nearest','cubic','spline','linear'.
I'm not sure what function should I use ... interp2 or interp3 and how to use it. I have tried to use Vq = interp2(im1,im2,'nearest'); but I got an error, so that is no the way how it should be used.
Thanks in advance for any help (@Image Analyst),
Ivan
댓글 수: 0
채택된 답변
Image Analyst
2016년 2월 8일
I don't know about interp3 - I haven't used it. interp2() required 2D images so to use that you'd use it on each color channel one at a time. It will basically give you the average of the images so you'd have two hands in it, like you have but each would be blended with the background. You would not get one hand in between the two hand positions. There might be algorithms for that, but I don't know what they are.
댓글 수: 4
Image Analyst
2016년 2월 8일
Perhaps. I have never looked at that function. Maybe you can ask the author.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!