Veb-kameramiz qizdirilgach, biz ramkalarni qayta ishlashni boshlaymiz: - Chuqur o'rganish bilan OpenCV yoshni aniqlash
- # video oqimidagi kadrlar bo'ylab aylanish
- rost bo'lsa :
- # tishli video oqimidan ramkani oling va uning hajmini o'zgartiring
- # maksimal kengligi 400 piksel bo'lishi
- ramka = o'qishga qarshi ()
- ramka = imutils. hajmini o'zgartirish ( ramka, kenglik = 400 )
- # kadrdagi yuzlarni aniqlash va ramkadagi har bir yuz uchun,
- # yoshni taxmin qilish
- natijalar = aniqlash_va_predict_age ( frame, faceNet, ageNet,
- minConf=args [ "ishonch" ])
- Natijalar ustidan # aylanish
- natijalardagi r uchun :
- # bog'langan bilan birga yuzning chegaralovchi qutisini chizing
- # taxmin qilingan yosh
- matn = "{}: {:.2f}%" . format ( r [ "yosh" ][ 0 ] , r [ "yosh" ][ 1 ] * 100 )
- ( startX, startY, endX, endY ) = r [ "loc" ]
- y = startY - 10 , agar startY - 10 > 10 bo'lsa , boshqa startY + 10
- cv2. to'rtburchak ( ramka, ( startX, startY ) , ( endX, endY ) ,
- ( 0 , 0 , 255 ) , 2 )
- cv2. putText ( ramka, matn, ( startX, y ) ,
- cv2.FONT_HERSHEY_SIMPLEX, 0.45 , ( 0 , 0 , 255 ) , 2 )
- # chiqish ramkasini ko'rsatish
- cv2. imshow ( "ramka" , ramka )
- kalit = cv2. waitKey ( 1 ) va 0xFF
- # agar `q` tugmasi bosilsa, tsikldan uzing
- agar kalit == ord ( "q" ) :
- tanaffus
- # bir oz tozalang
- cv2. AllWindowsni yo'q qilish ()
- vs. stop ()
Bizning halqamiz ichida biz: - Bizning halqamiz ichida biz:
- Keyingisini olingramka
- , va uning o'lchamini ma'lum kenglikda o'zgartiring ( 106 va 107-qatorlar )
- ni yuboringramka
- bizning orqaliyoshni aniqlash_va_taxmin qilish
- (1) yuzlarni aniqlash va (2) yoshni aniqlash uchun qulaylik funktsiyasi ( 111 va 112-qatorlar )
- Izoh beringnatijalar
- ustidaramka
- ( 115-124-qatorlar )
- Tugmachalarni bosishni ko'rsatish va suratga olish ( 127 va 128-qatorlar )
- Chiqish va agar bo'lsa tozalangq
- tugmasi bosildi ( 131-136-qatorlar )
Do'stlaringiz bilan baham: |