Мазмұны:
- 1 -қадам: Бейнені нақты уақытта анықтау
- 2 -қадам: Үлгі суреттеріңізді үйрету
- 3 -қадам: Беттерді тану
Бейне: Opencv Бетті анықтау, оқыту және тану: 3 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
OpenCV-бұл көзі ашық компьютерлік көру кітапханасы, ол бұлыңғырлау, кескінді араластыру, суретті жақсарту, сонымен қатар бейне сапасын жоғарылату, суретті өңдеу сияқты негізгі тапсырмаларды орындауға өте танымал. Суретті өңдеуден басқа, ол алдын ала дайындалған әр түрлі терең оқытуды қамтамасыз етеді. қарапайым тапсырмаларды шешу үшін тікелей қолдануға болатын модельдер.
opencv орнату үшін осы сілтемені пайдаланыңыз
www.instructables.com/id/Opencv-and-Python…
1 -қадам: Бейнені нақты уақытта анықтау
сіз google -ден бетті анықтаудың көптеген бағдарламаларын іздей аласыз, ал анықталған беттер жаттығулар мен таңбалау сияқты кескіндерді өңдеу үшін қалтада сақталуы керек. біз 30 үлгіні жинаймыз
cv2 импорттау
numpy санын np ретінде импорттаңыз
импорттық жүйені импорттау
камера = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier («haarcascade_frontalface_default.xml») #файлдың жолын қосыңыз
name = raw_input («Оның аты кім?»)
#барлық файлдар Users/prasad/Documents/images қалтасында сақталады
dirName = «/Users/prasad/Documents/images/» + name
print (dirName) болмаса, os.path.exists (dirName): os.makedirs (dirName) басып шығару («Каталог жасалды») басқа: басып шығару («Атау бұрыннан бар») sys.exit ()
санау = 1
#біз 30 үлгіні жинаймыз
30 саны кезінде: break # frame = frame.array grey = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) face = faceCascade.detectMultiScale (сұр, 1,5, 5) (x, y, w, h) үшін: roiGray = сұр [y: y + h, x: x + w] fileName = dirName + «/» + name + str (count) + «.jpg» cv2.imwrite (fileName, roiGray) cv2.imshow («тұлға», roiGray) cv2.rectangle (кадр, (x, y), (x+w, y+h), (0, 255, 0), 2) count+= 1 cv2.imshow ('кадр', кадр) key = cv2.waitKey (1)
егер кілт == 27:
үзіліс
#camera.release ()
cv2.destroyAllWindows ()
2 -қадам: Үлгі суреттеріңізді үйрету
Бетті анықтау аяқталғаннан кейін суреттерді үйретуге баруға болады
osimport numpy -ді PIL импортынан np ретінде импорттау Image импорт cv2 импорттау маркасы #импорт сериясы
#ser = serial. Serial ('/dev/ttyACM0', 9600, күту уақыты = 1)
faceCascade = cv2. CascadeClassifier («haarcascade_frontalface_default.xml»)
танушы = cv2.face. LBPHFaceRecognizer_create ()
baseDir = os.path.dirname (os.path.abspath (_ файл_))
#суреттер қалтасы астындағы суреттерді жаттықтырыңыз
imageDir = os.path.join (baseDir, «кескіндер»)
currentId = 1
labelIds = {} yLabels = xTrain = #ser.write («Оқыту…..». encode ())
os.walk ішіндегі root, dirs, файлдар үшін (imageDir):
файлдардағы файл үшін print (root, dirs, files): print (file) if file.endswith («png») or file.endswith («jpg»): path = os.path.join (root, file) label = os.path.basename (түбір) басып шығару (белгі)
егер labelIds белгісі болмаса:
labelIds [label] = currentId басып шығару (labelIds) currentId += 1
id_ = labelIds [label]
pilImage = Image.open (жол).convert («L») imageArray = np.array (pilImage, «uint8») беттер = faceCascade.detectMultiScale (imageArray, scaleFactor = 1.1, minNeighbors = 5)
(x, y, w, h) үшін:
roi = imageArray [y: y+h, x: x+w] xTrain.append (roi) yLabels.append (id_)
f сияқты ашық («жапсырмалар», «wb»):
pickle.dump (labelIds, f) f.close ()
танушы.транспорт (xTrain, np.array (yLabels))
tanınуші.save («trainer.yml») басып шығару (labelIds)
3 -қадам: Беттерді тану
жаттығу аяқталғаннан кейін сіз төмендегі кодты іске қоса аласыз, ол сіздің үйретілген тұлғаларыңызды тани бастайды
импорт osos.environ ['PYTHONINSPECT'] = 'қосулы' импорт cv2 np импорттау тұздығы ретінде импорттау #импорт RPi. GPIO GPIO ретінде импорттық ұйқыдан.
f (ашық), 'rb')
dicti = тұздалған.жүктеме (f) f.close ()
камера = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier («haarcascade_frontalface_default.xml»)
танушы = cv2.face. LBPHFaceRecognizer_create () танушы.оқу («trainer.yml»)
қаріп = cv2. FONT_HERSHEY_SIMPLEX
соңғы = ''
#камерадағы кадр үшін.capture_continuous (rawCapture, format = «bgr», use_video_port = True):
while True: ret, frame = camera.read () grey = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) беттерде: roiGray = сұр [y: y+h, x: x+w]
id_, conf = танушы. болжау (roiGray)
атау үшін, dicti.items () мәні:
if value == id_: print (name) cv2.putText (frame, name, (x, y), font, 2, (0, 0, 255), 2, cv2. LINE_AA) if name! = last: last = conf <= 70 болса атау: cv2.тіктөртбұрыш (кадр, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow ('кадр', кадр)
key = cv2.waitKey (1)
егер кілт == 27:
үзіліс cv2.destroyAllWindows ()
Ұсынылған:
Abellcadabra (Бетті тану есігін құлыптау жүйесі): 9 қадам
Abellcadabra (Бетті тану есіктерін құлыптау жүйесі): Карантин кезінде мен үйдің есігіне бетті тану арқылы уақытты өлтірудің жолын табуға тырыстым. Мен оны Abellcadabra деп атадым - бұл қоңырауды алатын есік қоңырауы бар сиқырлы фраза Абракадабраның қосындысы. ҚАТТЫ КҮЛУ
Құпия бөлімі бар бетті тану айнасы: 15 қадам (суреттермен)
Құпия бөлімі бар бетті тану айнасы: Мен әрқашан әңгімелерде, фильмдерде және т. Сонымен, мен «Құпия купе» байқауын көргенде, мен бұл идеяны өз бетімше сынап көруді шештім және қарапайым көрінетін айна жасауды шештім
Бетті тану және сәйкестендіру - OpenCV Python және Arduino көмегімен Arduino Face ID: 6 қадам
Бетті тану және сәйкестендіру | OpenCV Python және Arduino көмегімен Arduino Face ID: бетті тану AKA тұлғаның идентификаторы қазіргі кезде ұялы телефондардағы ең маңызды мүмкіндіктердің бірі болып табылады. Сонымен, менде " менің Arduino жобам үшін жеке идентификаторым болуы мүмкін " деген сұрақ болды. және жауап - иә … Менің саяхатым келесідей басталды: 1 -қадам: Бізге кіру
Нысанға бағытталған бағдарламалау: Объектілерді құру Оқыту/Оқыту әдісі/Қайшыны қолдану техникасы: 5 қадам
Нысанға бағытталған бағдарламалау: Объектілерді құру Оқыту/Оқыту әдісі/Қайшыны қолдану техникасы: Объектіге бағдарланған бағдарламалауды жаңадан бастаған студенттер үшін оқыту/оқыту әдісі. Бұл оларға сабақтан объектілерді құру процесін елестетуге және көруге мүмкіндік беретін әдіс. Бөлшектер: 1. Қайшы (кез келген түрі жасайды). 2. Қағаз немесе карточка бөлігі. 3. Маркер
Бетті анықтау+тану: 8 қадам (суреттермен)
Бетті анықтау+тану: Бұл камерадан OpenCV көмегімен бетті анықтау мен танудың қарапайым мысалы. ЕСКЕРТПЕ: Мен бұл жобаны сенсорлық байқау үшін жасадым және камераны сенсор ретінде танып, тану үшін қолдандым, сондықтан біздің сессиядағы мақсатымыз 1. Анаконда орнатыңыз