La société Arducam m’a envoyé une série de caméras compatibles Raspberry Pi pour les tester sur le nouveau Raspberry Pi 4. Voici le compte rendu des tests de deux caméras autofocus 5MP et 8MP.
============= Article sponsorisé =============
J’ai choisi le niveau débutant pour cet article car ces caméras autofocus s’installent facilement comme la caméra Pi classique.
Au sommaire :
2 caméras autofocus ArduCAM pour votre Raspberry Pi 4
Disposant de deux caméras autofocus identiques (au capteur près) j’ai commencé les tests par le modèle 5 Mp avant de passer au 8 Mp .
Caméra 5MPx autofocus
Présentation
C’est une caméra dont la mise au point (focus) est motorisée. Elle est équipée d’un capteur 5Méga Pixel de type OV5647 et elle est faite pour le Raspberry Pi
Pourquoi une mise au point variable
La CaméraPi standard a un objectif à mise au point fixe, certains objectifs sont même collés et ils ne peuvent pas être réglés par les utilisateurs. D’autres objectifs ne sont pas collés et peuvent donc être ajustés manuellement pour parfaire la mise au point. Mais dans certaines circonstances, vous pouvez souhaiter contrôler à distance et de manière programmable la distance de mise au point lorsque la caméra ne peut pas être atteinte facilement. L’équipe ArduCAM a conçu des modules de caméra motorisés de 5 Méga Pixels et 8 Méga Pixels (chapitre suivant) pour les cartes Raspberry Pi afin de résoudre ce problème.
Caractéristiques :
- Caméra vidéo haute définition pour Raspberry Pi Modèle A/B/B+ et Raspberry Pi 2 Pi 3B, Pi 3B+ et Pi Zero (en test sur le Pi4)
- Capteur 5MP OV5647 avec lentille de mise au point motorisée
- Filtre IR intégré
- Angle de vue : 54 x 41 degrés
- Champ de vision : 2m x 1,33m à 2 m de distance
- Équivalent d’un objectif reflex mono-objectif : 35 mm
- Distance de mise au point : 4 cm à l’infini
- Taille : 40 x 40 mm
- Câble plat plat de 15 cm vers connecteur d’interface CSI de caméra MIPI à 15 broches
- Câble Dupont pour relier la caméra au bus I2C du Raspberry Pi
Connexion
La connexion est classique pour le câble en nappe. Il se raccorde à la prise CSI du Raspberry Pi. Il faudra brancher le bus I2C avec le câble Dupont (fourni). La broche SDA de la caméra ira à la broche 3 du GPIO et la broche SCL rejoindra la broche 5 du GPIO. Avec la dernière version du driver, ce câble n’est plus nécessaire et la commande de la mise au point se fait via le câble plat CSI.
Installation sur le Raspberry Pi 4
J’ai utilisé un Pi4 4Go équipé de la version Raspbian Buster 2019-07-10 mise à jour. On commence par autoriser la caméra et l’I2C dans le menu de configuration du Raspberry Pi. Conformément à la page d’ArduCAM j’ai installé les prérequis :
Récupérez les fichiers sur le github d’ArduCAM (je les ai rangés dans un dossier RaspberryPi). Allez dans ce dossier. Installer les dépendances (bibliothèques Python).
1 |
sudo apt-get install python-opencv |
Activez l’adaptateur I2C0 en exécutant les commandes suivantes (le script enable_i2c_vc.sh se trouve dans les fichiers que vous avez récupérés)
1 2 |
chmod +x enable_i2c_vc.sh ./enable_i2c_vc.sh |
Répondez ‘y’ pour autoriser le Raspberry Pi à redémarrer.
Motorized_Focus_Camera_Preview.py
Cette démo permet la mise au point en mode prévisualisation, vous pouvez voir la mise au point visuellement à l’écran. Changez la mise au point avec les flèches ‘haut’ et ‘bas’.
Exécuter cette démo est très simple, il suffit de taper dans un terminal
1 |
sudo python Motorized_Focus_Camera_Preview.py |
Affichage sur le terminal pendant le réglage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
pi@raspberrypi:~/RaspberryPi/Motorized_Focus_Camera $ sudo python Motorized_Focus_Camera_Preview.py pygame 1.9.4.post1 Hello from the pygame community. https://www.pygame.org/contribute.html 512 UP 522 UP 532 UP 542 DOWN 532 DOWN 522 DOWN 512 |
Motorized_Focus_Camera_snapshot.py
Cette démo est identique à la précédente mais elle enregistre l’image de la caméra dans le dossier en cours après chaque mise au point. Changez la mise au point avec les flèches ‘haut’ et ‘bas’.
Tapez dans un terminal
1 |
sudo python Motorized_Focus_Camera_snapshot.py |
Autofocus.py
Cette démo fait la mise au point automatiquement en mode prévisualisation, et vous pouvez voir la mise au point se faire sur l’écran. Elle réalise ensuite un snapshot de l’image test.jpg.
Lancez la démo en tapant
1 |
sudo python Autofocus.py |
Un exemple (test.jpg)
Vidéo
En conclusion, cette caméra se met facilement en œuvre (il faut écrire un peu de Python si vous voulez adapter les exemples 🙂 ) et répond correctement lors des changements de lumière. J’ai fait les tests dans une pièce peu éclairée mais l’image est correcte et le réglage de mise au point efficace.
Caméra 8Mpx autofocus
Comme on peut le voir sur cette photo, la carte est la même que pour la version 5MP, mais le capteur est monté différemment, son câble part vers la gauche). Il s’agit ici d’un capteur IMX219, celui qui équipe également la caméra Pi de dernière génération. Le capteur a une définition de 3296 x 2512 pixels. Il peut donc générer de la vidéo HD.
Le fonctionnement est identique à celui de la caméra 5MP, j’ai quand même noté que dans les mêmes conditions, l’image fournie par cette caméra est plus sombre que la 5MP. La qualité est très bonne, les déformations à courte distance sont minimes et le focus/autofocus fonctionne comme pour la version 5MP directement sur le câble plat CSI. Pas besoin de câbler la liaison I2C.
Exemple d’image 8MP
Sources
https://github.com/ArduCAM/RaspberryPi/tree/master/Motorized_Focus_Camera
https://github.com/ArduCAM/MIPI_Camera/tree/master/RPI/python
https://github.com/ArduCAM/MIPI_Camera/tree/master/RPI
Programmable Motorized Focus Camera Raspberry Pi now Support Auto Focus
Bonjour,
Je souhaiterais savoir comment connecter 2 carte Caméra vidéo 8MP dur style IMX219 sur le raspberry 4.
Et ensuite coller les images pour en faire une seule.
Un idée?
Cdt
Fred
Bonjour
Le RasPi n’a qu’une prise caméra d’origine.
Le CPU a 2 entrées caméra (c’est un CPU de smartphone où il y a 2 caméras) et seul le CM3 (compute module)
donne accès aux 2 caméras, il faut alors une carte pour recevoir le CM3 qui n’a pas de connecteurs.
Sinon regardez du côté de https://www.arducam.com/raspberry-pi-stereo-camera-hat-arducam/
arducam a une carte qui permet de prendre 2 images simultanément.
Pour le montage des images un outil de retouche d’image comme GIMP devrait faire l’affaire en manuel.
SI vous voulez le faire en automatique je n’ai pas de solution, mais ça passera sans doute par un script en Python…
cdt
françois
Bonjour François,
Merci pour ce billet. Est-il possible de connecter ces caméras sur un Pi 3B+?
Cordialement.
Nono
Bonjour
je n’ai pas testé sur Pi 3 mais elles sont compatibles avec tous les bus CSI de Raspberry Pi
normalement ça doit fonctionner
cdt
françois
Merci François.