De androïde

opsporen met de invoering van de opsporing in de robot,,,,,,,,,, 15, 12 - eenheid,,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, ingevoerd in het spelen van diensten 8.1 Vision, opsporing is makkelijk om je als een ontwikkelaar op video of foto vinden het gezicht.Als je er een foto van je gezicht, informatie verzamelen over elk oppervlak, zoals de mogelijkheid van richting te lachen, of iemand heeft z 'n ogen open of dicht, alsmede de specifieke mijlpalen in hun gezicht. Deze informatie kan nuttig zijn meerdere toepassingen, zoals de toepassing van een camera. - foto' s, in het kader van iedereen lacht met hun ogen open, of voor de versterking van het beeld en stomme effecten, zoals de eenhoorn hoorn.Het is belangrijk om op te merken, opsporing, in plaats van, gezichtsherkenning.Die informatie kan in een vliegtuig, deze informatie niet door de Bank wordt gebruikt om te bepalen of er twee visuele geconfronteerd worden met dezelfde persoon. En van deze handleiding zal met stilstaand beeld van de detectie van API - en informatie te verzamelen over de werking van de mensen op de foto 's van informatie, alsmede van de grafische overlapping van informatie.Alle codes, van deze handleiding kan vinden in de github.,,,,,, 1.   project   vastgesteld, toe te voegen aan uw project Vision, wat je nodig hebt om te spelen voor diensten 8.1 of invoer van grotere projecten.Deze handleiding in de visuele bibliotheek diensten alleen spelen.Open de  , je project  , build.gradle, opstelling van documenten, door toevoeging van de volgende lijn  , afhankelijkheid,,,,, - opstelling van COM. Google. De androïde. GGO 's: een dienst visie: 8.1.0 ", als je op je project is, met inbegrip van de dienst, sluit je Je project  , gebouwd. Gradle,   dossier en open, in de AndroidManifest. XML,.Je moet de toevoeging van een definitie van het project, metagegevens, afhankelijk van de toepassing van de in het kader van het gezicht, de - lijst.Dit laat de Vision weet dat je van plan bent opsporing in je aanvraag.,, < - de naam van de androïde: = "COM. Google. De androïde. GGO 's. De visuele. Afhankelijk van de robot: waarde =" gezicht "/>,, als je klaar bent, XML, AndroidManifest., kun je dichterbij komen het.Nu moet je het creëren van een nieuwe klasse faceoverlayview Java genoemd.Deze uitbreiding van  , het lijkt erop dat   logica van projecten, die gezichten, bitmap, geanalyseerd en op dat punt het beeld. En, nu in de klasse toe te voegen aan de leden op de fabrikant van de definitie van de variabelen.Wat betreft, zal worden gebruikt voor de opslag,   bitmap, te analyseren en te zien, sparsearray, zal elk oppervlak, voorwerpen, opslag in de kaart gevonden, in de loop van de uitbreiding. Faceoverlayview oog (particuliere bitmap mbitmap; particuliere sparsearray < met de > mfaces; de openbare faceoverlayview (context) {(context, nul); de faceoverlayview} (context, attributeset attrs) {(kader van eigendom, 0);} de faceoverlayview (context, attributeset eigenschap, int defstyleattr) {Super (kader van eigendom, defstyleattr);}}, is de volgende stap, de toevoeging van een nieuwe methode voor de Vaststelling van faceoverlayview in, dat (*),,.Nu dit alleen zal doorgegeven aan het behoud van de kaart, maar daarna zal je het gebruik van deze methode voor de analyse van het beeld,, openbare ongeldig instellingen (.) {mbitmap = bitmap;}, en nu moet je het een beetje.Ik heb een in de steekproef van projecten op github, maar je kan   gebruik te maken van een beeld, ben je bereid om opsporing te zien spelen wat werkt en wat niet. Als je de keuze van een beeld, en leg het op de res catalogus, het origineel.Deze les is dat het imago van een gezicht. Jpg,,, als je je beeld, de oorspronkelijke resolutie /, gids, open, res/layout/activity_main. XML,.Deze regeling bevat een verwijzing naar de faceoverlayview, laat het zien, en de,,, <?De XML - = "1" codering = "utf - 8"?> < com.tutsplus.facedetection.faceoverlayview xmlns:Android = "" "" http://schemas.android.com/apk/res/android Android:ID = + ID /face_overlay "Android:layout_width =" match_parent "Android:layout_height =" match_parent "/>,, en de indeling van de openstelling van de definitie van,,, die faceoverlayview van oncreate (,,).Je moet door een verwijzing naar de mening van de oorspronkelijke, lezen, face.jpg catalogus van documenten, beelden als input van gegevens - en omgezet in beeld.Als je wat, je kunt bellen, die voor het faceoverlayview,  , door het beeld in je persoonlijke mening, de belangrijkste, de uitbreiding van de particuliere faceoverlayview appcompatactivity {mfaceoverlayview; - de beschermde nietig oncreate (pakket savedinstancestate {-). OnCreate (savedinstancestate); setContentView (r.layout. Activity_main); mfaceoverlayview = (faceoverlayview) findViewById (r.id.face_overlay); port - = getresources (). Openrawresource (r.raw.face); bitmap = BitmapFactory. Decodestream (-); mfaceoverlayview. (bitmap);}}, 2.De opsporing van gezicht, nu is het uw project opgezet, het is tijd om de opsporing van gezicht.Bij de vaststelling van (bitmap), dat nodig is voor het scheppen van een facedetector,,.Dit kan gebeuren door middel van een, facedetector. Generatoren, stelt u in staat om te bepalen hoe het van invloed is op de verschillende parameters van een snel geconfronteerd worden met zal opsporen en andere gegevens, facedetector, zal genereren.,, je hebt je keuze hangt af van wat u probeert te doen en je aanvragen.Als je om naar mijlpaal, en dan ontdekt wat langzamer.In de programmering van de meeste dingen,   alles heeft een   kiezen.Om meer te weten te komen over de beschikbare opties, facedetector. Generatoren, je kan vinden op de website van de officiële documenten van de androïde.,, facedetector detector = nieuwe facedetector. Generator (getcontext ()). Settrackingenabled (pseudo). Setlandmarktype (facedetector. All_landmarks). Die volgens de norm (facedetector bouwen. Fast_mode). ();,, je moet ook een zien, facedetector, de operatie.Als de gebruiker op de apparatuur gebruik, voor de eerste keer de opsporing, de omroep zou moeten gaan, en een groep van kleine plaatselijke bibliotheek voor de behandeling van aanvragen om.En dat is bijna in je aanvraag is klaar voor lancering, het is, het is niet belangrijk, als facedetector.,,, - operationeel is, dan kan je je bitmap in, het kader, het voorwerp en de overdracht van het verzamelen van gegevens naar de detector van de beelden.Als je klaar bent, moet je de vrijlating van de detector, om te voorkomen dat de   lekken.Als je klaar bent met de opsporing, de telefoon, invalidate (),   voor je mening, als (.,.De detector. Isoperational () {}) ///////noodmaatregelen die {frame = nieuwe kader. De bouwer van (een). (*) (); mfaces =. Te testen (plat); de detector. Laat invalidate () ();};,, nu heb je ontdekt Dat je beeld. En het is tijd om ze te gebruiken.Bijvoorbeeld, je moet alleen op elk gezicht trek een groene doos.Omdat, invalidate (), achter testen, kan je nog alle nodige logica, ondraw (canvas, olie).Om ervoor te zorgen dat deze methode bitmap en het gezicht, dan trekken wat op de grond, en een lijst op te stellen van elk gezicht rond.,, omdat de verschillende apparatuur van verschillende afmetingen, je zal volgen. De omvang van het hele beeld is altijd zichtbaar maken van al het materiaal en de dekking van een passend. - de beschermde nietig ondraw (canvas, olie) {super. Ondraw (.); als ((mbitmap!= nul) & & (mfaces!= nul)) {dubbele schaal = drawbitmap (.); drawfacebox (canvas, omvang);}},,, drawbitmap (canvas olie),   bitmap naar het doek voor de passende omvang en de terugkeer van een andere dimensie "je - goed, privé - drawbitmap (., dubbele viewwidth linnen doek) {= canvas. Getwidth (); de dubbele viewheight = canvas. Getheight (); de dubbele imagewidth = mbitmap. Getwidth (); de dubbele ImageHeight = mbitmap. Getheight (); de dubbele schaal = wiskunde. Min (viewwidth /imagewidth, viewheight /ImageHeight); rechthoekig destbounds = nieuwe vakken (0, 0 (int) (imagewidth * scale), (int) (* * * * * * * ImageHeight schaal); het canvas. Drawbitmap (mbitmap nietig, destbounds, leeg.L); de omvang van inkomsten;},,, drawfacebox (linnen doek, dubbele schaal),   methode wordt een beetje interessanter.Elk gezicht opsporen, en het behoud van de waarde van de positie van   boven en naar links.De methode om een standpunt in te nemen, en het bevat elk gezicht van de breedte en hoogte van de foto 's van een groene rechthoek.,, je moet de definitie van je, verf, die alle voorwerpen, en dan, met je, sparsearray,   locatie gevonden, breedte en hoogte van het gebruik van deze Informatie, op het doek rechthoekige.,, particuliere nietig drawfacebox (linnen doek, dubbele schaal) {///////verf wordt gedefinieerd als de variabelen, en niet in elk verzoek om ondraw ////////prioriteiten, maar weg van hier.油漆涂料=新paint();漆。设置颜色(颜色。绿色);漆。setStyle(油漆。风格。中风);油漆。setstrokewidth(5);左浮动= 0;浮顶= 0;右浮动= 0;浮底= 0;为(int i = 0;我<;mfaces。size();i++){脸= mfaces。值(I);左=(浮动)(脸。getposition()。X *规模);=(浮动)(脸。getposition()。Y *规模);右=(浮动)规模*(脸。getposition() X的脸。。getwidth());底=(浮动)规模*(脸。getposition()。Y +脸。getheight());帆布。drawRect(左,右,上,下,漆);} },,在这一点上,你应该能够运行您的应用程序和用,看到你的图像Elk gezicht gevonden.Opgemerkt moet worden dat, de detectie van API - is nog vrij nieuw bij het opstellen van dit   kunnen niet worden opgespoord, die elk met een belangrijk.Je kan spelen in een voorwerp, facedetector.builder, in de hoop dat meer gegevens te verzamelen, maar niet om ervoor te zorgen dat de.,,,,, 3.De monumenten, punt interesse in z 'n gezicht.Opsporing met een mijlpaal voor de opsporing van gezicht niet, maar op zoek naar een volledige gezicht, en toen ging op zoek naar een teken.Dit is waarom   mijlpaal is een facultatief is, kan door de constructeurs, facedetector.,,, je kan het gebruik van deze aanduidingen, als een aanvullende bron van informatie betreft, zoals de ogen waar, zodat je kan reageren op je aanvraag.Er zijn twaalf symbolische gebouw kan vinden: ongeveer rond de oren, ogen, oren, neus, links en rechts, de basis, zonder   bil, links, rechts   mond, mond, is een teken van de basis, is afhankelijk van het gezicht van de hoek.Bijvoorbeeld, er is iemand met maar één oog gezien, betekent dit dat de   andere oog zal worden.De volgende tabel geeft een overzicht van de markering moet op basis van EULER - test (y - richting van links of van rechts) gezicht.,,, Ola, het zichtbare, < 36 graden links, links, links. De bodem van de neus, mond, linker bil - 36 - 12 ° °     links onder de onderkant van de mond en neus, ogen. Links, links op het linker oor 12 graden, 12 graden scherpe ogen, ogen, neus, linker bil, bil, links, rechts en de onderkant van 36 graden, 12 graden rechts op de onderkant van de mond, neus, ogen, ogen, gezicht, oor tip > 36 graden rechts, rechts. De oren, neus, bil, monumenten, heel makkelijk voor je   je al met inbegrip van toepassing op de opsporing.Je moet alleen bellen, getlandmarks (), en tegen de lijst,,, monumenten,   object kan werken.,, in deze handleiding, trek je een kleine cirkel bij elk onderzoek naar mijlpaal, door een beroep te doen op een nieuwe aanpak,  , drawfacelandmarks (linnen doek, dubbele schaal), van  , ondraw (帆布帆布),   in plaats van  , drawfacebox (linnen doek, dubbele schaal).De methode voor de aanpassing van het logo, de positie van de omvang van de kaart, dan blijkt dat de mijlpaal die ring.,, particuliere nietig drawfacelandmarks (linnen doek, dubbele schaal) {verf = nieuwe verf (); verf. De kleur (color.green); verf. SetStyle (paint.style.stroke); verf setstrokewidth (5).; (int i = 0; ik < mfaces. Size (); I + +) (= mfaces gezicht. Waarde (i), (mijlpaal mijlpaal: gezicht. Getlandmarks () {int cx = (int) (x). Getposition (*). De omvang van CY = (int); (int) mijlpaal. Getposition (). Y * omvang); het canvas ronde (cx, CY, 10;}}}, verf). Deze methode wordt genoemd, moet je de SEE   kleine groene ring voor de opsporing van gezichten, in de volgende voorbeelden  ,,,,, 4 weergegeven.Aanvullende gegevens die op het gezicht, gezicht en het standpunt van de mijlpaal is nuttig, je kan ook meer informatie vinden van je aanvraag door een ingebouwde methoden uit, OEPS, voorwerp in je aanvragen.De  , getissmilingprobability (),  , getislefteyeopenprobability (), en  , getisrighteyeopenprobability (),   methode proberen vast te stellen of ontdekt is door middel van een praalwagen van 0, mooie ogen zijn open, 1.Hoe dicht bij de 1, hoe groter de kans is dat iemand lacht of links of rechts   opende z 'n ogen. En het gezicht, vind je ook vanuit het oogpunt van het beeld y en z - as, de waarde van de door de inspectie van Euler.Echter, bij het opsporen van gezicht moeten nauwkeurige wijze de waarden te ontvangen, maar je moet het gebruik van nauwkeurige wijze de waarden te ontvangen.Je kan een voorbeeld zien in het volgende fragment van deze waarden te verkrijgen.,, particuliere nietig logfacedata () {drijvende smilingprobability; drijvende lefteyeopenprobability; drijvende righteyeopenprobability; drijvende eulery; drijvende eulerz; (int i = 0; ik < mfaces. Size (); I + +) (persoonlijk mfaces waarde =. (i); smilingprobability = gezicht. Getissmilingprobability (); lefteyeopenprobability = gezicht. Getislefteyeopenprobability (); righteyeopenprobability = gezicht. Getisrighteyeopenprobability (); eulery = gezicht. Geteulery (); eulerz = gezicht. Geteulerz (); de log. E ("les + opsporing", "lachen:" + smilingprobability); logboek. E ("les + opsporing", "het linkeroog.Pen: "+ lefteyeopenprobability); het logboek. E (" les + opsporing "," de ogen open: "+ righteyeopenprobability); het logboek. E (" les + opsporing ", de" y "van EULER: + eulery); het logboek. E (" les + opsporing "," EULER z "+ eulerz);}},, conclusies, in deze handleiding, je hebt een spel van de visie van de belangrijkste onderdelen van de dienst bibliotheek, opsporing,.Je weet nu hoe de gezichten van de detectie van een stilstaand beeld, het verzamelen van informatie en het vinden van hoe  , elk gezicht symbool.,, met je geleerd hebt, kan je nog wat van je eigen grote functies, de verbetering van de toepassing van een stilstaand beeld, volgen in de video gezicht, of een van de andere die je je kunt voorstellen.

Example of a silly effect adding a unicorn horn to a face
Faces detected and bound by a drawn rectangle
Circles placed over detected facial landmarks



Previous:No
Next Page: