> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/french/function-blocks/blocks-reference/input-output/image-inputs/camera-usb-vidgear.md).

# Camera USB Vidgear

Ce bloc de fonction offre une entrée caméra USB flexible pour la capture d'images en direct. Utilisez-le pour détecter, sélectionner et configurer des caméras USB, puis diffuser des images (frames) dans votre graphe de traitement. Il est conçu pour une capture continue avec des commandes simples pour activer, libérer la caméra et gérer la résolution.

## 📥 Entrées

* `Activate Signal` — Active la caméra et commence à renvoyer des frames (prise d'entrée).
* `Release Signal` — Libère la caméra et libère les ressources (prise d'entrée).

## 📤 Sorties

* `Image Any` — Frame courant de la caméra (prise de sortie).

## 🕹️ Contrôles

* `Scan Connected USB Cameras` — Scanne le système et liste les caméras USB disponibles.
* `Select USB Camera` — Menu déroulant pour choisir la caméra détectée à utiliser.
* `Camera Resolution` — Menu déroulant pour choisir une résolution de capture préférée.
* `Current Resolution` — Étiquette montrant la résolution active réellement renvoyée par la caméra.
* `Open Advanced Setting` — Ouvre la boîte de dialogue des paramètres avancés du fournisseur/caméra lorsque disponible.
* `Message Area` — Zone affichant les messages d’état et les erreurs à l’utilisateur.

## 🎨 Fonctionnalités

* Capture en direct depuis une caméra USB, adaptée aux scénarios de production et de test.
* Découverte facile : scannez et sélectionnez une caméra sans quitter l’interface.
* Contrôle de la résolution : choisissez des résolutions courantes ; le bloc affiche la résolution réellement utilisée.
* Comportement démarrer/arrêter via `Activate Signal` et `Release Signal` pour gérer les ressources.
* Gestion des problèmes temporaires de flux : le bloc conserve la dernière frame valide, affiche des messages informatifs et tente de récupérer le flux si possible.
* Support optionnel d’un téléversement asynchrone de frames en arrière-plan pour l’export ou la journalisation (si configuré dans votre environnement).
* Retour visuel : le statut courant et les messages utiles sont affichés dans l’UI du bloc.

## ⚙️ Mode de fonctionnement

* Cliquez sur `Scan Connected USB Cameras` pour remplir la liste des caméras, puis choisissez une caméra avec `Select USB Camera`.
* Utilisez `Camera Resolution` pour demander une largeur/hauteur préférée ; l’étiquette `Current Resolution` montre ce que la caméra a effectivement réglé.
* Lorsque `Activate Signal` est fourni, le bloc commence à renvoyer des frames sur la sortie `Image Any`. Si le signal n’est pas actif, le bloc conserve et renvoie la dernière frame capturée.
* Lorsque `Release Signal` est fourni, le bloc arrête la caméra et libère la ressource ; la dernière frame disponible est toujours renvoyée jusqu’à la réactivation.
* Si le bloc rencontre des frames répétées vides/corrompues ou une erreur de flux, il affichera un message d’erreur et tentera de récupérer ou de redémarrer la caméra automatiquement. Cela évite des défaillances silencieuses en production.

## 📝 Instructions d’utilisation

1. Cliquez sur `Scan Connected USB Cameras` pour détecter les caméras.
2. Choisissez la caméra souhaitée via `Select USB Camera`.
3. Optionnel : sélectionnez une résolution dans `Camera Resolution`.
4. Envoyez un `Activate Signal` pour commencer à recevoir des frames sur la sortie `Image Any`.
5. Envoyez un `Release Signal` quand vous n’avez plus besoin de la caméra pour libérer l’appareil.

## 💡 Astuces

* Prévisualisez les frames en direct en connectant la sortie `Image Any` au bloc `Show Image` pour un retour visuel immédiat.
* Pour enregistrer ou journaliser des frames, connectez `Image Any` à `Image Logger`, `Image Write` ou `Record Video`.
* Si vous avez besoin d’un traitement plus rapide au prix d’une qualité inférieure, insérez `Image Resize` avant les étapes lourdes pour réduire la charge.
* Améliorez la robustesse des détections en ajoutant un prétraitement simple comme `Blur`, `Denoising` ou `Auto Contrast` entre la sortie caméra et les blocs IA.
* Pour une analyse ciblée, utilisez `Image ROI Select` ou `Image ROI Polygon` pour recadrer la scène avant la détection.
* Combinez avec des blocs AI tels que `Object Detection`, `Mask Detection`, `Pose Estimation` ou `Object Detection - Custom` pour construire des pipelines d’inspection ou d’analytique. Pour le suivi, utilisez `Object_Detection_Tracker` après un bloc de détection d’objets.
* Pour publier les résultats vers des systèmes externes, routez les sorties numériques/textuelles dérivées vers `MQTT Publish` ou `REST API - Post`.
* Si vous observez des frames noirs répétés, essayez de rescanner la liste de caméras ou d’envoyer `Release Signal` puis réactiver pour forcer un redémarrage de la caméra sélectionnée.

## 🛠️ Dépannage

* Aucune caméra listée après le scan : vérifiez que la caméra est connectée, alimentée et non utilisée exclusivement par une autre application. Re-scannez après reconnexion.
* La caméra ne démarre pas ou ne stream pas : vérifiez la caméra sélectionnée dans `Select USB Camera` et essayez une résolution différente dans `Camera Resolution`. Utilisez `Release Signal` puis réactivez.
* Frames noirs ou corrompus intermittents : le bloc conserve la dernière frame valide pour éviter les trous ; si le problème persiste, rescannez et re-sélectionnez la caméra ou essayez un autre port USB.
* Contrôles avancés non disponibles : certains dialogues de fournisseur sont spécifiques à la plateforme. Utilisez les options de résolution du bloc ou les outils système de la caméra pour les réglages avancés.

## 🔗 Exemples de combinaisons

* Surveillance en direct : `Camera USB Vidgear` -> `Show Image`.
* Enregistrement et analyse ultérieure : `Camera USB Vidgear` -> `Record Video` et/ou `Image Logger` ; puis injectez les frames enregistrés dans `Find Object` ou `Histogram On Line`.
* Pipeline d’inspection : `Camera USB Vidgear` -> `Image ROI Select` -> `Object Detection` -> `Object_Detection_Tracker` -> `Image Write`.

Utilisez ces combinaisons pour construire des flux de vision robustes et en temps réel sans toucher au code.
