简体   繁体   中英

How to warp the later frame to previous frame using optical flow image

I just have two images,one is the current frame,the other is the optical flow image which calculated by other manners.

The current frame is: 在此处输入图片说明

The optical flow image is: 在此处输入图片说明

My question is how to calculate the previous frame using the two images?

I have saw one solution,just using bilinear interpolation to warp current frame to last frame with optical flow image.But I didn't know how to do it.

So,could someone give me some advice or ideas? Thanks a lot.

You are looking for the opencv function remap . If you have the current image ( currImg ) and the optical flow mat ( flow ) than you can predict the previous image by first inverting the optical flow and then apply the function remap . In python the code will be as follows:

import cv2
h, w = flow.shape[:2]
flow = -flow
flow[:,:,0] += np.arange(w)
flow[:,:,1] += np.arange(h)[:,np.newaxis]
prevImg = cv2.remap(curImg, flow, None, cv.INTER_LINEAR)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM