web-dev-qa-db-fra.com

Est-il possible d'utiliser OpenCV ou une bibliothèque similaire en Javascript?

Pouvons-nous utiliser OpenCV à partir de Javascript? Existe-t-il une telle mise en œuvre?

Existe-t-il des bibliothèques JS pouvant être utilisées pour détecter des éléments de visage dans l'image ou la vidéo?

55
Bohdan

Je ne pense pas qu'il y ait d'autre moyen d'utiliser openCV dans JS que de communiquer avec un serveur avec openCV dessus et d'y faire le traitement.

Il y a un algo de détection de visage dans JS que je connais: http://badassjs.com/post/1461943420/face-detection-in-javascript-via-html5-canvas

16
crazyjoe

OpenCV n'a jamais été porté sur JavaScript dans son intégralité, mais les différentes parties et algorithmes ont:

  • Pour la détection de visage et d'élément de visage (et d'autres pièces/objets), vous pouvez utiliser js-objectdetect ou HAAR.js qui sont les ports de la détection d'objets OpenCV basés sur les cascades de fonctionnalités Haar.

  • Le tout premier algorithme de détection des visages sur le Web trouvé dans ccv mérite également une mention. Son classificateur semble être moins fiable que celui fourni par OpenCV.

  • La bibliothèque headtrackr utilisée pour le facetracking pourrait également être intéressante car elle implémente l'algorithme camshift également trouvé dans OpenCV.

29
le_m

Je recommande OpenCVjs . Il s'agit de la bibliothèque javascript OpenCV.

18
amrocs

Je ne connais pas une implémentation complète d'OpenCV en Javascript, cependant un bon nombre d'algorithmes sont implémentés dans JSFeat qui est une bibliothèque Computer Vision en Javascript.

Je pense qu'il pourrait être possible de compiler des bits d'OpenCV avec emscripten, mais pour autant que je sache, personne ne l'a fait.

15
kybernetikos

Le portage d'OpenCV vers Javascript devrait être possible en utilisant asm.js qui peut compiler C ou C++ vers Javascript

Une autre prise: OpenCV est porté sur Chrome Native Client: http://opencv.org/opencv-ported-to-google-chrome-nacl-and-pnacl.html

14
Maciej Jankowski

Cela semble très bien. http://trackingjs.com/ Jetez un œil.

6
arpo

Excellent repo pour cela ici: https://github.com/peterbraden/node-opencv Ne semble pas avoir une fonctionnalité opencv complète, mais a une détection de visage et un grand support pour les flux d'images provenant de sources comme un ar-drone.

6
Harrison

En plus de ceux mentionnés, il existe un autre repo pour "opencvjs"

https://github.com/blittle/opencvjs

Il est un peu difficile de savoir lesquels (le cas échéant) sont censés être canoniques

2
cavalcade

Concernant votre deuxième question clmtrackr semble très prometteur. Il ...

... est une bibliothèque javascript pour adapter les modèles de visage aux visages dans les vidéos ou les images. Il s'agit actuellement d'une implémentation de modèles locaux contraints ajustés par un décalage moyen des points de repère régularisé, comme décrit dans l'article de Jason M. Saragih. clmtrackr suit une face et affiche les positions de coordonnées du modèle de face sous forme de tableau.

Essayez cet exemple pour voir leur modèle.

2
Christoph