Ask Your Question

Video processing to detect a logo in frames

asked 2017-12-05 12:55:19 -0500

Tina  J gravatar image

updated 2017-12-05 14:23:13 -0500

I am trying to detect a TV channel logo inside a video file, so simply given an input .mp4 video, detect if it has that logo present in all (or most) of frames or not (or maybe what percentage of frames include that logo). My aim is to classify ad and video portions (I noticed ads do not have the logo).

We have that logo in advance and the location is always fixed, so I believe the problem can be trivial to just a matching problem.

I have no prior knowledge about OpenCV. Can it do this task?

enter image description here

enter image description here

edit retag flag offensive close merge delete


sturkmen gravatar imagesturkmen ( 2019-01-21 04:03:24 -0500 )edit

Hello! I'm wondering if you ever figured out a method for doing dynamic logo detection (correct my if I'm wrong but this was what it seemed like you were asking about)

I'm currently trying to solve a similar problem, a way to find the TV Channel Logos within a frame without having a template for matching. I've tried time averaged frames, taking thresholded differences, and even just getting average pixel counts, but where one of these solutions will give me a logo for one tv show, it'll give me junk for 10 others. Wondering if anyone has suggestions re: this (if this thread is even still active/if anyone even sees this!)

ap414 gravatar imageap414 ( 2019-07-25 08:53:21 -0500 )edit

could you post the code you used. let me check it.

sturkmen gravatar imagesturkmen ( 2019-07-25 09:25:55 -0500 )edit

Hey Tina! I have the similar problem. Could you tell me please which way did you use to solve your task?

AndrewM gravatar imageAndrewM ( 2020-11-27 22:13:49 -0500 )edit

And after i detected a TV logo, how can i track when it disappears?

AndrewM gravatar imageAndrewM ( 2020-12-02 03:05:52 -0500 )edit

2 answers

Sort by ยป oldest newest most voted

answered 2017-12-06 08:34:37 -0500

VxW gravatar image

template matching could work, but then you have to train every logo. If the logo changes you have to retrain etc.

I would generate a time averaged frame this means every region becomes more and more grey over time except the logo which should be stable. Afterward you can apply edge detection or thresholding to identify the region of the logo.

averaged frame

The source of the image and a related paper to this topic can be found here

edit flag offensive delete link more

answered 2017-12-05 13:41:01 -0500

A couple methods come in mind.

  1. Most TV logos are located on the edges of the frame. So a naive way is just looking for any sort of text along the frame corners.

  2. This is a very good use case for template matching. You pretty much have to gather images consisting of your logos and let the algorithm do the rest.

  3. Feature extraction is another good candidate for this.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2017-12-05 12:55:19 -0500

Seen: 1,184 times

Last updated: Dec 06 '17