Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
1 / 1 / 0
Регистрация: 04.03.2020
Сообщений: 28

Распознавание лица

09.03.2020, 19:35. Показов 6400. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть код распознавания лиц на питоне
хочу переписать на с++
но никак не выходит

вот код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import cv2
import numpy as np
import os
 
recognizer = cv2.face.LBPHFaceRecognizer_create()
recognizer.read('trainer/trainer.yml')
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2.CascadeClassifier(cascadePath);
 
font = cv2.FONT_HERSHEY_SIMPLEX
 
id = 0
 
 
names = ['None', 'victor', 'artem', 'doni', 'nastya', 'madi', 'doni']
 
 
cam = cv2.VideoCapture(0)
cam.set(3, 640) # set video widht
cam.set(4, 480) # set video height
 
 
minW = 0.1 * cam.get(3)
minH = 0.1 * cam.get(4)
 
while True:
 
ret, img = cam.read()
 
 
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
 
faces = faceCascade.detectMultiScale(
    gray,
    scaleFactor = 1.2,
    minNeighbors = 5,
    minSize = (int(minW), int(minH)),
    )
 
    for (x, y, w, h) in faces :
 
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
 
id, confidence = recognizer.predict(gray[y:y + h, x : x + w])
 
 
if (confidence < 100) :
    id = names[id]
    confidence = "  {0}%".format(round(100 - confidence))
else:
id = "unknown"
confidence = "  {0}%".format(round(100 - confidence))
 
cv2.putText(img, str(id), (x + 5, y - 5), font, 1, (255, 255, 255), 2)
cv2.putText(img, str(confidence), (x + 5, y + h - 5), font, 1, (255, 255, 0), 1)
 
cv2.imshow('camera', img)
 
k = cv2.waitKey(10) & 0xff # Press 'ESC' for exiting video
if k == 27:
break
 
 
print("\n [INFO] Exiting Program and cleanup stuff")
cam.release()
cv2.destroyAllWindows()

полный проэкт можно скачать тут
https://github.com/vitex2414/labapyton.git
ps(переделать нужно только 03_face_recognition.py)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.03.2020, 19:35
Ответы с готовыми решениями:

Active appearance model. Распознавание лица в профиль
Многие проекты с открытым исходным кодом распознают только лица в анфас, но мне нужно распознавать лица в профиль. Как я могу обучить для...

Детектор лица!
Доброго времени суток! С помощью чего можно реализовать захват изображения с камеры или с готового видео отловть лицо и сравнить со списком...

Построение графа лица
Всех приветствую. Помогите пожалуйста в следующем деле.Имеется исходная фотография человеческого лица, нужно сравнить его с другой...

4
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
10.03.2020, 08:09
Цитата Сообщение от vivtor Посмотреть сообщение
хочу переписать на с++
Цитата Сообщение от vivtor Посмотреть сообщение
import cv2
import numpy as np
А найти аналоги этих библиотек (или написать самому) не хочешь? В стандартной библиотеке с++ такого нет.
2
 Аватар для Ogn1k
3 / 3 / 1
Регистрация: 08.02.2020
Сообщений: 111
10.03.2020, 13:50
Цитата Сообщение от assemberist Посмотреть сообщение
А найти аналоги этих библиотек (или написать самому) не хочешь? В стандартной библиотеке с++ такого нет.
cv2 = OpenNN
numpy в с++ не нужен, там и так есть все то что в этой библиотеке
os для с++ тоже по большей части не нужен потому что есть стандартные библиотеки типо <fstream> <direct.h>.
Я надеюсь не сказал глупостей, а то иногда бывает вроде понимаешь, а в итоге не правильно.
1
1 / 1 / 0
Регистрация: 04.03.2020
Сообщений: 28
10.03.2020, 19:57  [ТС]
спасибо попробую
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
11.03.2020, 10:44
Лучший ответ Сообщение было отмечено vivtor как решение

Решение

Лучше не переписывать, а взять уже готовые, например, вот здесь
https://api-2d3d-cad.com/face_... th_opencv/
подробно расписаны многие возможные варианты
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.03.2020, 10:44
Помогаю со студенческими работами здесь

Захват камеры с уже нарисованным овалом для лица
Здравствуйте! Возникла потребность: нужно сфотографировать лицо через веб-камеру, помещённое в нарисованный овал при выводе изображения с...

Разработать класс "Счет физического лица" и обеспечить возможность работы с ним
-продумать атрибуты класса и инкапсулировать их в закрытой части интерфейса класса; -определить в классе по крайней мере три...

с++ Opencv 2.4 Определение лица на изображении
установил opencv2.4 http://www.samontab.com/web/2012/06/installing-opencv-2-4-1-ubuntu-12-04-lts/ Определение лица на изображении. ...

Обнаружение лица на видео по базе фото
Добрый день! Подскажите пожалуйста, есть ли готовый алгоритм определения лица на видео(avi,mp4...) и сравнение его с базой, заранее...

Распознавание лица
Здравствуйте! Необходимо через первую веб-камеру сохранить лицо человека в папку с расширением .jpeg. Потом распознавать лицо человека...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru