Maison développement back-end Tutoriel Python Python implémente une fonction d'extraction d'objets vidéo ultra-simple

Python implémente une fonction d'extraction d'objets vidéo ultra-simple

Jun 04, 2018 am 11:03 AM
python 对象 视频

Cet article présente principalement la fonction d'extraction d'objets vidéo ultra-simple implémentée en Python, qui a une certaine valeur de référence. Maintenant, je la partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

L'extraction d'objets vidéo

n'est pas tant une extraction d'objets vidéo que une extraction de couleurs vidéo, car son essence utilise toujours la détection d'objets couleur HSV d'OpenCV. Pas grand chose à dire ci-dessous, jetons un œil à l’introduction détaillée.

Introduction au HSV

HSV signifie teinte (H : teinte), saturation (S : saturation), luminosité ( V : value), un espace colorimétrique créé par A. R. Smith en 1978, également appelé modèle Hexcone ;

Teinte (H : teinte) : mesurée en angle, avec une plage de valeurs de 0°~360°, à partir du rouge. et en comptant dans le sens inverse des aiguilles d'une montre, le rouge est 0°, le vert est 120° et le bleu est 240°. Leurs couleurs complémentaires sont : le jaune est de 60°, le cyan est de 180° et le magenta est de 300° (la plage de valeurs de H dans OpenCV est de 0 à 180, lorsqu'il est stocké sur 8 bits

Saturation (S) ; : saturation) : la plage de valeurs est de 0 à 255, plus la valeur est grande, plus la couleur est saturée ;

Luminosité (V : valeur) : la plage de valeurs est de 0 (noir) à 255 (blanc) ;

Affichage des effets


Idées de mise en œuvre

Comme le montre le rendu ci-dessus, il ne nous reste plus qu'à identifier le Peppa Pig vert dans la vidéo. Voici les étapes d'identification :

    .
  • La valeur HSB de la couleur Peppa Pig obtenue en utilisant PS est équivalente au HSV d'OpenCV, mais la valeur HSV (HSB) de PS est : 0~360, 0~1, 0~1, tandis que la valeur HSV d'OpenCV est : 0 ~ 180, 0 ~ 255, 0 ~ 255, donc le hsv de ps doit être traité, H/2, SV*255 ;

  • Utilisez le bit OpenCV "ET" " pour extraire une partie HSV Color de l'image ;

  • Utiliser le flou gaussien pour optimiser l'image ;

  • Affichage de l'image ;

PS Le HSB sur le côté droit de la barre d'outils affiche :


Code complet

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

#coding=utf-8

#HSV转换(颜色提取)

 

import cv2

import numpy as np

 

cap = cv2.VideoCapture(0)

 

while (1):

 _, frame = cap.read()

 hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

 

 #在PS里用取色器的HSV

 psHSV = [112, 89, 52]

 diff = 40 #上下浮动值

 #因为PS的HSV(HSB)取值是:0~360、0~1、0~1,而OpenCV的HSV是:0~180、0~255、0~255,所以要对ps的hsv进行处理,H/2、SV*255

 lowerHSV = [(psHSV[0] - diff) / 2, (psHSV[1] - diff) * 255 / 100,

    (psHSV[2] - diff) * 255 / 100]

 upperHSV = [(psHSV[0] + diff) / 2, (psHSV[1] + diff) * 255 / 100,

    (psHSV[2] + diff) * 255 / 100]

 

 mask = cv2.inRange(hsv, np.array(lowerHSV), np.array(upperHSV))

 

 #使用位“与运算”提取颜色部分

 res = cv2.bitwise_and(frame, frame, mask=mask)

 #使用高斯模式优化图片

 res = cv2.GaussianBlur(res, (5, 5), 1)

 

 cv2.imshow('frame', frame)

 # cv2.imshow('mask', mask)

 cv2.imshow('res', res)

 if cv2.waitKey(1) & 0xFF == ord('q'):

  break

 

cv2.destroyAllWindows()

Copier après la connexion

Recommandations associées :


Utilisation de Python pour implémenter un exemple de code de fonction de téléchargement vidéo

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1664
14
Tutoriel PHP
1266
29
Tutoriel C#
1239
24
PHP et Python: différents paradigmes expliqués PHP et Python: différents paradigmes expliqués Apr 18, 2025 am 12:26 AM

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

Choisir entre PHP et Python: un guide Choisir entre PHP et Python: un guide Apr 18, 2025 am 12:24 AM

PHP convient au développement Web et au prototypage rapide, et Python convient à la science des données et à l'apprentissage automatique. 1.Php est utilisé pour le développement Web dynamique, avec une syntaxe simple et adapté pour un développement rapide. 2. Python a une syntaxe concise, convient à plusieurs champs et a un écosystème de bibliothèque solide.

PHP et Python: une plongée profonde dans leur histoire PHP et Python: une plongée profonde dans leur histoire Apr 18, 2025 am 12:25 AM

PHP est originaire en 1994 et a été développé par Rasmuslerdorf. Il a été utilisé à l'origine pour suivre les visiteurs du site Web et a progressivement évolué en un langage de script côté serveur et a été largement utilisé dans le développement Web. Python a été développé par Guidovan Rossum à la fin des années 1980 et a été publié pour la première fois en 1991. Il met l'accent sur la lisibilité et la simplicité du code, et convient à l'informatique scientifique, à l'analyse des données et à d'autres domaines.

Python vs JavaScript: la courbe d'apprentissage et la facilité d'utilisation Python vs JavaScript: la courbe d'apprentissage et la facilité d'utilisation Apr 16, 2025 am 12:12 AM

Python convient plus aux débutants, avec une courbe d'apprentissage en douceur et une syntaxe concise; JavaScript convient au développement frontal, avec une courbe d'apprentissage abrupte et une syntaxe flexible. 1. La syntaxe Python est intuitive et adaptée à la science des données et au développement back-end. 2. JavaScript est flexible et largement utilisé dans la programmation frontale et côté serveur.

Comment exécuter le code sublime python Comment exécuter le code sublime python Apr 16, 2025 am 08:48 AM

Pour exécuter le code Python dans le texte sublime, vous devez d'abord installer le plug-in Python, puis créer un fichier .py et écrire le code, et enfin appuyez sur Ctrl B pour exécuter le code, et la sortie sera affichée dans la console.

Où écrire du code dans vscode Où écrire du code dans vscode Apr 15, 2025 pm 09:54 PM

L'écriture de code dans Visual Studio Code (VSCODE) est simple et facile à utiliser. Installez simplement VScode, créez un projet, sélectionnez une langue, créez un fichier, écrivez du code, enregistrez-le et exécutez-le. Les avantages de VSCOD incluent la plate-forme multiplateuse, gratuite et open source, des fonctionnalités puissantes, des extensions riches et des poids légers et rapides.

Golang vs Python: performance et évolutivité Golang vs Python: performance et évolutivité Apr 19, 2025 am 12:18 AM

Golang est meilleur que Python en termes de performances et d'évolutivité. 1) Les caractéristiques de type compilation de Golang et le modèle de concurrence efficace le font bien fonctionner dans des scénarios de concurrence élevés. 2) Python, en tant que langue interprétée, s'exécute lentement, mais peut optimiser les performances via des outils tels que Cython.

Comment exécuter Python avec le bloc-notes Comment exécuter Python avec le bloc-notes Apr 16, 2025 pm 07:33 PM

L'exécution du code Python dans le bloc-notes nécessite l'installation du plug-in exécutable Python et du plug-in NPEXEC. Après avoir installé Python et ajouté un chemin à lui, configurez la commande "python" et le paramètre "{current_directory} {file_name}" dans le plug-in nppexec pour exécuter le code python via la touche de raccourci "F6" dans le bloc-notes.

See all articles