NB: я впервые на Medium

NodeJS - отличная технология для проектов Интернета и Интернета вещей: быстрая, удобная и красивая. Также среди его качеств есть возможность повторного использования кода, и мы должны поблагодарить NPM.

Диспетчер пакетов узлов (NPM) - отличный инструмент для каждого разработчика JavaScript. Он предоставляет миллион пакетов, которые можно использовать в ваших проектах.

Сегодня я хочу поделиться простым руководством о том, как начать работу с обнаружением лиц в nodejs. Следовательно, я буду использовать пакет nodejs под названием распознавание лиц, созданный и поддерживаемый замечательным Винсентом Мюлером, который предоставляет пакет:

Простой API Node.js для надежного обнаружения и распознавания лиц. Это библиотека-оболочка Node.js для инструментов обнаружения и распознавания лиц, реализованная в «dlib.

Необходимая библиотека для Linux и OSX:

  • cmake (sudo apt-get install cmake)
  • libx11 (XQuartz в OSX) для графического интерфейса dlib (sudo apt-get install libx11-dev)
  • libpng для чтения изображений (sudo apt-get install libpng-dev)

Давай повеселимся :

npm install face-recognition

создайте новый файл index.js и откройте проект в вашем любимом редакторе кода (мой VS Code)

touch index.js && code .

вставьте этот код в свой index.js

const fr = require('face-recognition');
// load image from local
const image = fr.loadImage('image.jpg');
// intialize the window to showup your image
const win = new fr.ImageWindow();
// intialize face detector
const detector = new fr.FrontalFaceDetector();
// get the upscaled version of the supplied image
const sacaledimg = fr.pyramidUp(image);
// detect faces and returns all rects object (faces dimensions)
const gotFaceRects = detector.detect(sacaledimg);
// supply image to the window
win.setImage(image)
// draw rectangles over the image
const f = 0.5;
const faceRects = gotFaceRects.map(rect => new fr.Rect(rect.left * f, rect.top * f, rect.right * f, rect.bottom * f));
faceRects.forEach((r) => {
win.addOverlay(r);
});
// pause the program until you hit Enter
fr.hitEnterToContinue();

Полученные результаты :

// in your terminal run
node index.js