Accès Webcam sans Opencv

Fermé
user_3022 Messages postés 11 Date d'inscription dimanche 4 décembre 2022 Statut Membre Dernière intervention 19 avril 2023 - 19 avril 2023 à 19:17
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 20 avril 2023 à 14:26

Bonjour,

Je suis sur mac avec python 3.11 et Opencv n'étant compatible qu'avec les version de python 3.6 et moins je ne peux pas l'utiliser.

Qu'y-a-t-il comme autre façon d'accèder à la webcam ?


Macintosh / Firefox 78.0

A voir également:

1 réponse

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
20 avril 2023 à 14:26

Bonjour,

Avec OpenCV

Si l'on va sur la page PyPI d'OpenCV on voit effectivement deux wheels (pour rappel, une wheel est un paquet PIP qui enveloppe un module python) pour MacOS. Si on les télécharge, on peut examiner leur dépendances avec pkg_info :

pkginfo -f requires_dist opencv_python-4.7.0.72-cp37-abi3-macosx_10_16_x86_64.whl
requires_dist: ['numpy (>=1.13.3) ; python_version < "3.7"', 'numpy (>=1.21.0) ; python_version <= "3.9" and platform_system == "Darwin" and platform_machine == "arm64"', 'numpy (>=1.21.2) ; python_version >= "3.10"', 'numpy (>=1.21.4) ; python_version >= "3.10" and platform_system == "Darwin"', 'numpy (>=1.22.0) ; python_version >= "3.11"', 'numpy (>=1.19.3) ; python_version >= "3.6" and platform_system == "Linux" and platform_machine == "aarch64"', 'numpy (>=1.17.0) ; python_version >= "3.7"', 'numpy (>=1.17.3) ; python_version >= "3.8"', 'numpy (>=1.19.3) ; python_version >= "3.9"']
pkginfo -f requires_dist opencv_python-4.7.0.72-cp37-abi3-macosx_11_0_arm64.whl
requires_dist: ['numpy (>=1.13.3) ; python_version < "3.7"', 'numpy (>=1.21.0) ; python_version <= "3.9" and platform_system == "Darwin" and platform_machine == "arm64"', 'numpy (>=1.21.2) ; python_version >= "3.10"', 'numpy (>=1.21.4) ; python_version >= "3.10" and platform_system == "Darwin"', 'numpy (>=1.22.0) ; python_version >= "3.11"', 'numpy (>=1.19.3) ; python_version >= "3.6" and platform_system == "Linux" and platform_machine == "aarch64"', 'numpy (>=1.17.0) ; python_version >= "3.7"', 'numpy (>=1.17.3) ; python_version >= "3.8"', 'numpy (>=1.19.3) ; python_version >= "3.9"']

On voit que selon la nature de la plateforme (i.e. l'architecture de ton CPU), OpenCV n'est pas accessible pour les mêmes versions de python.

Cela suggère que pour ton architecture de CPU, il n'y a pas de wheel qui ont été préparées pour des versions modernes de python. Il y a peu de chance que "charcuter" les dépendances impliquées dans une wheel soit couronné de succès.

La seule solution que je vois, c'est que tu recompiles ta propre version en téléchargeant les sources depuis le git d'OpenCV. Tu peux démarrer avec ce lien, mais sache qu'il existe de nombreux tutoriels sur Internet.

Sans OpenCV

Cette discussion recense plusieurs autres modules permettant d'accéder à la webcam, notamment :

auquel on pourrait aussi ajouter visiblement webcam-streamer (et sans doute qu'il en existe encore d'autres).

Après, il faut voir si lesdits paquets sont disponibles ou non pour ta version de python (en particulier, si certains d'entre eu dépendent d'OpenCV... ils ne t'aideront pas)

Bonne chance

0