aizvorski / scikit-video

Video processing routines for SciPy
Other
138 stars 21 forks source link

Temporal Filtering #1

Open beyondmetis opened 9 years ago

beyondmetis commented 9 years ago

As a video quality engineer, I'd like to see (and I have code for) temporal filters like gabor, 1st and 2nd derivatives of gaussian, and gamma. Is there a list of temporal filters that you are interested in producing?

I also have a ton of other video code that I could contribute. Very cool project!

aizvorski commented 9 years ago

Hello beyondmetis,

All this sounds good! I'll be happy to merge any code you want to add.

When you say temporal filters, do you mean purely temporal or spatiotemporal? And are they motion compensated? Doing accurate motion estimation and compensation may be prerequisite for the more interesting kinds of temporal filtering :) This is definitely somewhere on the roadmap.

Best, Alex

beyondmetis commented 8 years ago

Hi Alex,

I'm finishing up my PhD coursework by the end of this year, so I'll be more able to contribute soon while using this library for research.

Can we have a 'motion estimation' module and a 'filter windows' module? We shouldn't have to write convolutions ourselves, but we can wrap them (thinking scipy.ndimage functions). I'm thinking something like:

import skvideo.io
import skvideo.signal
import skvideo.motion

video = VideoCapture(sys.argv[1])

# example window. Gabors take several parameters, but we should have sane defaults
window = skvideo.signal.gabor()

# simple convolutions using skvideo filter window function library
video_sp = skvideo.signal.spatialconvolve1d(video, window, axis=0)
video_sp = skvideo.signal.spatialconvolve1d(video_sp, window, axis=1)

video_temporal = skvideo.signal.temporalconvolve1d(video, window)

# motion estimation using estimation tools (both optical flow and block-based methods here)
opticalflow = skvideo.motion.hornschunck(video, hsparam1, hsparam2)
blockmotion = skvideo.motion.diamondsearch(video, dsparam1, dsparam2)

# further processing ...

Todd

preksha12 commented 8 years ago

Hello How can we call this class videocapture for capturing videos in python code.