Video Completion Scheme with OpenCV

asked 2016-08-26 17:47:09 -0600

yudori gravatar image

updated 2016-08-27 05:01:14 -0600

I'm trying to perform a video stabilization with opencv and c++. I have been able to perform motion estimation and compensation but there exists black areas around the edges of the video as a result.

A sample image showing side by side comparison of an original and stabilized image frame is found below image description

I understand that it requires that I perform video completion to extrapolate pixels onto the missing image areas but I have no idea how to go about this.

I have heard about mosaicking, motion impainting and space time video completion but I have no idea how to implement these, google searches haven't proved very useful as well. I was hoping for at least a link that shows a guide to carrying this out or any push in the direction to achieve this.

edit retag flag offensive close merge delete

Comments

What have you tried? There is lots of information available if you search google. Which kind are you interested in?

Tetragramm gravatar imageTetragramm ( 2016-08-26 18:45:34 -0600 )edit

an example image would be helpful.

berak gravatar imageberak ( 2016-08-27 00:11:07 -0600 )edit
1

@Tetragramm and @berak I have edited the question accordingly, any video completion method would be fine. Thanks

yudori gravatar imageyudori ( 2016-08-27 05:02:39 -0600 )edit

http://lmgtfy.com/?q=video+inpainting+with+stabilization

The first two results seem to be exactly what you're looking for.

Tetragramm gravatar imageTetragramm ( 2016-08-27 19:12:53 -0600 )edit

Is it really important that you keep those border pixels? Most approaches just take the inner box of valid pixels and use that area only. Just cutting of the blacked edges.

StevenPuttemans gravatar imageStevenPuttemans ( 2016-08-29 05:55:36 -0600 )edit

@StevenPuttemans Yes it is important that the original image resolution is preserved.

yudori gravatar imageyudori ( 2016-08-29 07:22:26 -0600 )edit