4

J'essaie d'analyser un fichier vidéo et de détecter s'il porte un logo réseau dans le coin inférieur droit. J'ai pensé que cela pourrait être plus facile si je prenais quelques images aléatoires et si elles avaient un logo/marque d'eau en commun.Détection de filigrane/logo dans l'image/vidéo

Je n'ai aucune idée de comment commencer. est-il possible de le faire en utilisant API/ligne de commande?

+1

Vous cherchez un logo ou un logo en particulier? –

+0

Tout logo vraiment. –

Répondre

2

Tout d'abord, vous n'aurez probablement pas besoin d'un outil de ligne de commande pour cela. La recherche de points communs ne sera pas aussi simple que vous pourriez le penser.

Toute la vidéo est compressée et cela provoque de légères différences, même dans les choses qui peuvent sembler les mêmes à l'œil humain.

Si vous connaissez la taille de base et la région du logo, vous pouvez limiter votre recherche à cette partie de l'écran, ce qui devrait accélérer la recherche. Après cela, en supposant que je connaissais le logo, je soustrais une image à la suivante. Pour ce faire, soustraire chaque canal de couleur à partir du canal de couleur correspondant du même pixel sur la trame précédente. Si vous avez beaucoup de vidéo, prenez peut-être quelques images à distance afin qu'une partie de l'image qui ne bouge pas lentement ne provoque pas de faux positif. Une fois que vous avez cette soustraction, tout ce qui est identique devrait être une valeur proche de zéro. Tout ce qui est différent devrait être une valeur beaucoup plus élevée.

Avec cette région soustraite, s'il y a beaucoup de pixels proches de zéro, vous avez probablement le logo ou au moins quelque chose de constant. Vous pourriez vouloir mettre les résultats en carré et les additionner. Cela va exagérer les valeurs pas près de zéro. Ensuite, choisissez un seuil. Si les valeurs sont en dessous, vous avez probablement un logo.

+0

Grande réponse, merci – Profane

+0

Cela fonctionnera probablement avec quelques ajustements. Cependant, je voudrais aller pour calculer les moyennes de couleur pour chaque pixel (pour chaque canal de couleur), puis l'écart type pour chaque pixel. Enfin, il suffit de rechercher les zones avec un faible résultat d'écart. – virco