Does OpenCV provide a way to perform frame averaging?

I was wondering if there was a way to perform frame averaging in OpenCV? I have been working on restoring some very poor quality surveillance camera footage in order to discover who stole my mail and mailbox the day before Christmas Eve. Even if I employ torch and super resolution, the image is simply too blurry to see. I was hoping to use several screencaps at different time intervals in order to take advantage of the chromatic differences, and fuse them together, creating a higher definition and more detailed result.

Any suggestions?

that’s not frame averaging though.

frame averaging is nothing but simulated “long exposure”, i.e. you get less noise but you pay with motion blur.

superresolution does not remove grain or add information. it just upscales the image, filling in with “plausible” detail that isn’t actual information.

without seeing your data, I can’t make any recommendations.

@crackwitz The repository for my motion detection efforts is located on codeberg. Although not opencv, I was using ffmpeg to correct as much as possible, the script for that is also contained within the repository.

I actually just removed the jupyter notebook which contained my superresolution efforts from the previously mentioned repo today, as it was no longer up to date with the newest code. I have added it back.

We are reasonably certain the neighbors stole our mailbox. They have been vandalizing our property. We just don’t have it on video, and without video law enforcement won’t budge.

does any of that contain data?

So, I am guessing you need the photos. I started to include them, but hesitated as it is my actual front yard, and quite recognizable as such. How can I send it to you?

you could make up data that you can share without worries. it’s not about seeing the perp. if you need to, this forum supports direct messages.

Alright, here are some photos that should serve to give some idea of what I am trying to accomplish, possible or not.

  1. The first photo is a censored version of the original as the camera recorded it. As you can see, the area we are attempting to gain a discernible view of is considerably small by comparison.

  1. Here is the area highlighted in purple in the image above cropped to size. Even from this seriously reduced photo, the area needed to acquire a view from is tiny. So tiny, that from my monitor, my mouse pointer could cover it in it’s entirety. There it is though, down by the road, beside a gate post, right where the grass meets the pavement. What needs to be viewable is if the box is still attached, or if all that remains is a post. This will help determine when the crime was committed.

I seriously can’t tell what’s supposed to be there. I just see tree branches and fence posts. and a lot of pixels. and the arrow, which I hope isn’t covering anything I’m supposed to see.

besides, this is daylight. the noise you got there is video compression. that behaves very differently from physical noise.

if you watch that video and you as a human can’t tell when something is happening, there is little to no hope of making anything visible.

I have to admit, that is disappointing. Been working on acquiring, processing, identifying, and evaluating the footage since it occurred. Hoping I could use it to provide more information to catch the vandals. I will broaden my search, maybe I missed something, and our observations were wrong somewhere.

I haven’t seen video yet, only a single still frame. if you want, you could send me the source data via private message. click on my name/icon and you’ll get a card with a “message” button.

1 Like

You are very kind for offering to help. I do not appear to have been granted the ability to message yet. Maybe, my account is too new, or I have not posted enough.

Screenshot 2024-02-09 at 03-25-58 Does OpenCV provide a way to perform frame averaging - Python - OpenCV