Სარჩევი:
- ნაბიჯი 1: სახის გამოვლენა რეალურ დროში ვიდეოში
- ნაბიჯი 2: თქვენი ნიმუშის სურათების მომზადება
- ნაბიჯი 3: სახის ამოცნობა
ვიდეო: Opencv სახის ამოცნობა, სწავლება და ამოცნობა: 3 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
OpenCV არის ღია კოდის კომპიუტერული ხედვის ბიბლიოთეკა, რომელიც ძალიან პოპულარულია სურათის დამუშავების ძირითადი ამოცანების შესასრულებლად, როგორიცაა დაბინდვა, სურათის შერწყმა, სურათის გაძლიერება, ასევე ვიდეოს ხარისხი, ბარიერი და ა.შ. მოდელები, რომლებიც შეიძლება გამოყენებულ იქნას უშუალოდ მარტივი ამოცანების გადასაჭრელად.
opencv ინსტალაციისთვის გამოიყენეთ ეს ბმული
www.instructables.com/id/Opencv-and-Python…
ნაბიჯი 1: სახის გამოვლენა რეალურ დროში ვიდეოში
თქვენ შეგიძლიათ მოძებნოთ google მრავალი სახის ამოცნობის პროგრამა და აღმოჩენილი სახეები უნდა იყოს შენახული საქაღალდეში სურათების შემდგომი დამუშავებისათვის, როგორიცაა ტრენინგი და მარკირება. ჩვენ ვაპირებთ 30 ნიმუშის შეგროვებას
იმპორტი cv2
იმპორტირებული numpy როგორც np
იმპორტი os იმპორტი sys
კამერა = cv2. ვიდეო გადაღება (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml") #დაამატეთ თქვენი harcascade ფაილის გზა
name = raw_input ("რა ჰქვია მას?")
#ყველა ფაილი შეინახება Users/prasad/Documents/images საქაღალდეში
dirName = "/მომხმარებლები/prasad/დოკუმენტები/სურათები/" + სახელი
დაბეჭდე (dirName) თუ არა os.path.არსება (dirName): os.makedirs (dirName) print ("დირექტორია შეიქმნა") სხვაგან: print ("სახელი უკვე არსებობს") sys.exit ()
დათვლა = 1
#ჩვენ ვაპირებთ 30 ნიმუშის შეგროვებას
ხოლო რაოდენობა 30: შესვენება # ჩარჩო = ჩარჩო. მასივი ნაცრისფერი = cv2.cvtColor (ჩარჩო, cv2. COLOR_BGR2GRAY) სახეები = faceCascade.detectMultiScale (ნაცრისფერი, 1.5, 5) for (x, y, w, h) სახეებში: roiGray = ნაცრისფერი [y: y + h, x: x + w] ფაილის სახელი = dirName + "/" + სახელი + str (რაოდენობა) + ". jpg" cv2.imwrite (ფაილის სახელი, roiGray) cv2.imshow ("სახე", roiGray) cv2. rectangle (frame, (x, y), (x+w, y+h), (0, 255, 0), 2) count+= 1 cv2.imshow ('frame', frame) key = cv2. დაელოდეთ გასაღები (1)
თუ გასაღები == 27:
შესვენება
#camera.release ()
cv2.destroyAllWindows ()
ნაბიჯი 2: თქვენი ნიმუშის სურათების მომზადება
მას შემდეგ რაც დასრულდა სახის ამოცნობა, ჩვენ შეგვიძლია წვრთნათ სურათები
იმპორტი osimport numpy როგორც np საწყისი PIL იმპორტი სურათი იმპორტი cv2 იმპორტი მწნილი #იმპორტი სერიალი
#ser = სერიული. სერიული ('/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 ("ტრენინგი…..". კოდირება ())
root, dirs, os.walk ფაილებისთვის (imageDir):
ამობეჭდვა (root, dirs, ფაილები) ფაილებისათვის: ამობეჭდვა (ფაილი) თუ file.endswith ("png") ან file.endswith ("jpg"): path = os.path.join (root, file) label = os.path.basename (root) ბეჭდვა (ეტიკეტი)
თუ ეტიკეტი არ არის labelIds- ში:
labelIds [label] = currentId ბეჭდვა (labelIds) currentId += 1
id_ = labelIds [label]
pilImage = Image.open (path).convert ("L") imageArray = np.array (pilImage, "uint8") face = faceCascade.detectMultiScale (imageArray, scaleFactor = 1.1, minNeighbors = 5)
for (x, y, w, h) სახეებში:
roi = imageArray [y: y+h, x: x+w] xTrain.append (roi) yLabels.append (id_)
ღია ("ეტიკეტები", "wb") როგორც f:
pickle.dump (labelIds, f) f.close ()
ამოცნობა. მატარებელი (xTrain, np.array (yLabels))
ამოცნობა (შენახვა ("trainer.yml") ბეჭდვა (labelIds)
ნაბიჯი 3: სახის ამოცნობა
ტრენინგის დასრულების შემდეგ, თქვენ შეგიძლიათ გაუშვათ ქვემოთ მოყვანილი კოდი ისე, რომ ის დაიწყოს თქვენი გაწვრთნილი სახეების ამოცნობა
იმპორტი osos.environ ['PYTHONINSPECT'] = 'on' იმპორტი cv2 იმპორტი numpy როგორც np იმპორტი მწნილი #იმპორტი RPi. GPIO როგორც GPIO დროიდან იმპორტი ძილის
ღია ('ეტიკეტები', 'rb') როგორც f:
dicti = pickle.load (f) f.close ()
კამერა = cv2. ვიდეო გადაღება (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
აღიარებელი = cv2.face. LBPHFaceRecognizer_create () ამოცნობა. წაკითხვა ("trainer.yml")
font = cv2. FONT_HERSHEY_SIMPLEX
ბოლო ="
#for frame in camera.capture_continuous (rawCapture, format = "bgr", use_video_port = True):
ხოლო True: ret, frame = camera.read () ნაცრისფერი = cv2.cvtColor (ჩარჩო, cv2. COLOR_BGR2GRAY) სახეები = faceCascade.detectMultiScale (ნაცრისფერი, scaleFactor = 1.5, წთ მეზობლები = 5) (x, y, w, h) სახეებში: roiGray = ნაცრისფერი [y: y+h, x: x+w]
id_, conf = ამოცნობა. წინასწარმეტყველება (roiGray)
სახელი, მნიშვნელობა dicti.items ():
თუ მნიშვნელობა == id_: ბეჭდვა (სახელი) cv2.putText (ჩარჩო, სახელი, (x, y), შრიფტი, 2, (0, 0, 255), 2, cv2. LINE_AA) თუ სახელი! = ბოლო: ბოლო = სახელი თუ conf <= 70: cv2. მართკუთხედი (ჩარჩო, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow ('ჩარჩო', ჩარჩო)
გასაღები = cv2.waitKey (1)
თუ გასაღები == 27:
შესვენება cv2.destroyAllWindows ()
გირჩევთ:
MATLAB მარტივი სახის ამოცნობა: 4 ნაბიჯი
MATLAB Easy Face Detection: ამ ინსტრუქციის მთავარი მიზანია აჩვენოს რამდენად ადვილი იქნება სურათის დამუშავება, MATLAB– ის დახმარებით სახის გამოვლენა და თვალთვალი იყო მნიშვნელოვანი და აქტიური კვლევითი სფერო, ამიტომ ამიტომაც ვაპირებ ახსნას როგორ შეიძლება ამის გაკეთება
სახის ამოცნობა და ამოცნობა - Arduino Face ID OpenCV პითონისა და Arduino– ს გამოყენებით .: 6 ნაბიჯი
სახის ამოცნობა და ამოცნობა | Arduino Face ID OpenCV პითონისა და არდუინოს გამოყენებით: სახის ამოცნობა AKA face ID არის ერთ -ერთი ყველაზე მნიშვნელოვანი ფუნქცია მობილურ ტელეფონებზე დღეს. ასე რომ, მე მქონდა შეკითხვა " შემიძლია ვიპოვო სახის ID ჩემი Arduino პროექტისთვის " და პასუხი არის დიახ … ჩემი მოგზაურობა დაიწყო შემდეგნაირად: ნაბიჯი 1: ჩვენთან წვდომა
Opencv სახის ამოცნობა: 4 ნაბიჯი
სახის ამოცნობა: სახის ამოცნობა დღესდღეობით საკმაოდ გავრცელებული მოვლენაა, ბევრ აპლიკაციაში, როგორიცაა სმარტფონები, მრავალი ელექტრონული გაჯეტი. ამ ტიპის ტექნოლოგია მოიცავს უამრავ ალგორითმს და ინსტრუმენტს და სხვა
სახის ამოცნობა+ამოცნობა: 8 ნაბიჯი (სურათებით)
სახის გამოვლენა+ამოცნობა: ეს არის მარტივი ამოცანა სახის გამოვლენისა და ამოცნობის შესახებ OpenCV კამერით. შენიშვნა: მე გავაკეთე ეს პროექტი სენსორული კონკურსისთვის და გამოვიყენე კამერა, როგორც სენსორი თვალყურის დევნისა და აღიარების სახეებისთვის. ასე რომ, ჩვენი მიზანი ამ სესიაზე, 1. დააინსტალირეთ ანაკონდა
სახის და თვალის ამოცნობა ჟოლოს პი ნულოვანი და Opencv: 3 ნაბიჯი
სახის და თვალის ამოცნობა ჟოლოსთან Pi ნულოვანი და Opencv: ამ ინსტრუქციურად მე ვაპირებ ვაჩვენო, თუ როგორ შეგიძლიათ აღმოაჩინოთ სახე და თვალი ჟოლოს pi და opencv გამოყენებით. ეს არის ჩემი პირველი ინსტრუქცია opencv– ზე. მე გავეცანი ბევრ გაკვეთილს ჟოლოში ღია cv- ს შესაქმნელად, მაგრამ ყოველ ჯერზე რაღაც შეცდომებით ვხვდებოდი. ყოველ შემთხვევაში მე