Përmbajtje:

RoboPhoto - një Gjenerator Mozaiku për Publikun: 4 Hapa
RoboPhoto - një Gjenerator Mozaiku për Publikun: 4 Hapa

Video: RoboPhoto - një Gjenerator Mozaiku për Publikun: 4 Hapa

Video: RoboPhoto - një Gjenerator Mozaiku për Publikun: 4 Hapa
Video: Обрешетка. Полимерная обрешетка под сайдинг - виды и преимущества. Часть 1 2024, Nëntor
Anonim
Image
Image
RoboPhoto - një Gjenerator Mozaiku për Publikun
RoboPhoto - një Gjenerator Mozaiku për Publikun
RoboPhoto - një Gjenerator Mozaiku për Publikun
RoboPhoto - një Gjenerator Mozaiku për Publikun

RoboPhoto është një gjenerator fotomosaik në kohë reale

RoboPhoto krijon një fotomosaik të përdoruesve të tij - ndërsa prisni.

Duke përdorur teknika dixhitale moderne si përpunimi i imazhit, njohja e fytyrës dhe inteligjenca artificiale, RoboPhoto është në gjendje të krijojë një fotomozajk të të gjithë vizitorëve që kalojnë dhe shtypin butonin e tij-në kohë reale.

Sa herë që shtypet butoni, merret një fotografi e personit në dorë. Menjëherë çdo fotografi skanohet dhe interpretohet nga RoboPhoto. Softueri RoboPhoto më pas do të ndryshojë të gjithë imazhin individual - në mënyrë që të bëhet pjesë e një imazhi më të madh, dhe pastaj të printojë këtë fotografi të ndryshuar në një afishe të etiketuar me një grup koordinatash që tregojnë vendndodhjen e secilës fotografi brenda asaj imazhi më të madh. Secilit vizitor i kërkohet më pas të vendosë afishen e vet me fotografi në një kanavacë më të madhe që përmban vetëm një rrjet përkatës.

Gjatë funksionimit të RoboPhoto, do të krijohet një imazh i ri. Një fotomosaik i përbërë nga këto fotografi individuale që do të imitojnë një "imazh objektiv" të paracaktuar.

RoboPhoto gjithashtu funksionon në modalitetin e një përdoruesi të vetëm. Kur konfigurohet në këtë mënyrë, RoboPhoto krijon një mozaik të plotë të një përdoruesi të vetëm.

Furnizimet

  • Një kompjuter Windows 10 me paketa Visual Studio dhe IoT të instaluara
  • Një Raspberry Pi 3B+ me Microsoft Windows 10 IoT të instaluar
  • Një printer me etiketë me ngjyra (Brother VC-500W)
  • Një buton i madh i kuq i montuar në një piedestal për futjen e përdoruesit
  • Një ekran HDMI për reagimet e përdoruesve
  • Një kamerë Microsoft Xbox Kinect v2- e vjedhur nga djali im- për të bërë fotografi
  • Një rrjet (Wifi, LAN)
  • Një rrjet objektiv. Një fletë letre me një rrjet të shtypur mbi të -e mbushur me koordinata. Ky rrjet letre përdoret si kanavacë ku vizitorët mund të ngjisin fotografinë e tyre në koordinatat e përcaktuara. Dhe kështu përfundimisht ata do të formojnë së bashku rezultatin përfundimtar: një fotomozaik të ri të bukur.

Një aparat fotografik icrosoft Kinect 2.0 u përdor sepse mund të marrë imazhe në thellësi. Ky funksion përdoret për të krijuar një ekran të gjelbër virtual në secilin fotograf individual. Në këtë mënyrë RoboPhoto mund të pikturojë sfondin në secilën fotografi individuale që të përputhet me ngjyrën e një pjese të synuar brenda mozaikut të ardhshëm.

Hapi 1: Si funksionon

Si funksionon
Si funksionon
Si funksionon
Si funksionon
Si funksionon
Si funksionon
Si funksionon
Si funksionon

RoboPhoto është një instalim që përmban një piedestal me një buton të madh të kuq në të, një kompjuter me printer etiketë të bashkangjitur dhe një pajisje të vogël IoT që trajton Ndërfaqen e Përdoruesit (ekran dhe buton). Në rastin tim: një RaspBerry 3B+.

  1. RoboPhoto funksionon brenda një vendndodhjeje të arritshme për publikun dhe është (pasi e ndez atë) vetë-operues. Kur vraponi, vizitorët kalimtarë inkurajohen nga RoboPhoto të shtypin butonin e tij të madh të kuq.
  2. Sa herë që shtypet ai buton i madh i kuq, RoboPhoto do të bëjë një fotografi të vizitorit që sapo e ka shtypur butonin me kamerën Kinect.
  3. Pastaj RoboPhoto do të përdorë AI -në e saj të përparuar. dhe aftësitë e përpunimit të imazhit për të ndryshuar secilën fotografi që të përputhet me një pjesë brenda mozaikut të ardhshëm. Për ta arritur këtë, RoboPhoto ngjyros sfondin e secilës fotografi që të përputhet me ngjyrën e një pjese të synuar brenda një imazhi të ngarkuar paraprakisht. Pas redaktimit, RoboPhoto printon foton e redaktuar në një afishe së bashku me një sërë koordinatash që përcaktojnë me saktësi vendndodhjen e kësaj afisheje brenda mozaikut.

  4. Pastaj përdoruesit i kërkohet të vendosë afishen në fletën e synuar të mozaikut.
  5. Dhe kështu - pasi të kenë vizituar shumë njerëz - do të shfaqet një vepër e re arti. Për të krijuar një mozaik do t'ju duhen shumë pjesë individuale. Kam marrë rezultate të mira me 600 copë

RoboPhoto gjithashtu mund të funksionojë në modalitetin e përdoruesit të vetëm.

Në këtë konfigurim RoboPhoto krijon një mozaik të plotë të fotografive të redaktuara nga një përdorues i vetëm. Pasi të keni shtypur butonin, RoboPhoto do të shkrepë rreth> 600 fotografi të ndryshme të përdoruesit, dhe më pas do t'i modifikojë dhe rregullojë të gjitha për të formuar një mozaik të vetëm të ri, të krijuar pas një imazhi objektiv të para-zgjedhur.

Hapi 2: Montimi i harduerit

Montimi i harduerit
Montimi i harduerit
Montimi i harduerit
Montimi i harduerit

Siç tregohet në figurën e mësipërme, PC Win 10 është i lidhur me kamerën Kinect. Kinect duhet të lidhet me USB 3.0. Në kohën kur krijova RoboPhoto - asnjë Raspberry Pi me USB 3.0 nuk ishte në dispozicion.*

PC përdoret gjithashtu për të trajtuar printimin në etiketën e bashkangjitur të etiketës. Në rastin tim një Brother VC-500W. Një etiketë mjaft e lirë e ngjyrave shtëpiake. Sidoqoftë, është shumë shumë i ngadalshëm. Më mirë përdorni një profesionist nëse mundeni.

Butoni i Madh i Kuq është i bashkangjitur me një Raspberry Pi 3B+. Vetëm 4 tela janë bashkangjitur në GPIO. Kjo është bashkimi i vetëm i nevojshëm i bërë në këtë Udhëzues. Pi gjithashtu siguron reagim për vizitorin tonë me anë të një ekrani TFT 7 me HDMI.

Për ta rregulluar atë, ndërtova një piedestal prej druri që mban të gjithë këta përbërës.

Pranë piedestalit, përballë murit, vendoset një fletë letre që përmban rrjetin e synuar dhe koordinatat (A1/A2). Për shkak se printeri i etiketës që kam përdorur maksimizohet sipas gjerësisë së etiketës = 2, 5 cm, të gjithë katrorët në këtë rrjet kanë përmasa 2, 5cm x 2, 5cm.

*Sot, Raspberry Pi4 ofron USB3.0. Alse W10 mund të ekzekutohet në pajisje. Pra, teorikisht duhet të jetë e mundur të krijohet një RoboPhoto v2.0 pa përdorimin e një kompjuteri. Ndoshta Covid '19 do të më japë kohë të mjaftueshme për të botuar një udhëzues të tillë së shpejti.

Hapi 3: Shkrimi i Kodit

Shkrimi i Kodit
Shkrimi i Kodit
Shkrimi i Kodit
Shkrimi i Kodit

Kodi

RoboPhoto u krijua me VisualStudio si një zgjidhje me dy projekte:

  1. Një aplikacion Windows Forms në PC po pret një server TCP dhe po trajton hyrjen e Kinect
  2. Një Raspberry Pi 3B+ që strehon një klient TCP brenda një aplikacioni të kryesuar nga UWP (i vendosur si aplikacion fillestar) për të trajtuar ngjarjet e shtypjes së butonit dhe për t'i siguruar përdoruesit reagime përmes ekranit të tij 7 "TFT.

Në diagramin e mësipërm, jam përpjekur t'ju jap një ide se çfarë po bën softi im. Studio Visual që kam shkruar për të krijuar këtë zgjidhje (absolutisht 100% funksionuese) RoboPhoto është e pajisur me këtë udhëzues. Sidoqoftë, unë duhet t'i paralajmëroj të gjithë duke zbritur këtë skedar: Kodi që kam shkruar nuk është aq i bukur dhe shpesh lidhet me kompjuterin tim dev. Kështu që unë i inkurajoj të gjithë të krijojnë një zgjidhje më të mirë, më të mirë dhe më të qëndrueshme.

1drv.ms/u/s!Aq7eBym1bHDKkKcigYzt8az9WEYOOg…

Rrjetit

Në kodin shembull, kodi i Pi -së vendoset përmes Visual Studio në një IPAddress në rrjetin tim. Ju ndoshta duhet ta ndryshoni këtë për t'iu përshtatur tuajit. Për ta bërë këtë - klikoni me të djathtën mbi projektin e klientit ARM pasi të keni hapur zgjidhjen në Visual Studio, pastaj zgjidhni vetitë dhe kaloni vlerën e makinës në distancë në IPAdresën e Pi tuaj. Gjithashtu ju duhet të lejoni që trafiku të kalojë nga klienti në server në portin 8123 brenda Windows Firewall në server (PC). Nëse e drejtoni zgjidhjen nga Visual Studio, duhet t'ju kërkojë ta bëni atë për U.

Gjatë kodimit kam pasur shumë probleme që W32 & UWP të komunikojnë siç duhet. Unë e fillova atë duke përdorur dy klasa të veçanta në klient dhe server: resp MyEchoClient.cs (në klientin ARM) dhe ConnectionClient.cs (duke lidhur lidhjet e klientëve në server).

Skedarë mozaiku - klasë me porosi

RoboPhoto krijon mozaikë për të imituar një imazh të synuar. Ky imazh i synuar, dhe të gjitha fotografitë individuale që së bashku përbëjnë mozaikun e ardhshëm, si dhe disa veti të tjera të secilës RoboPhoto ruhen në skedarë në një sistem skedarësh. Kodi im i shoqëruar përdor një sërë skedarësh dhe dosjesh në drejtorinë c: / tmp / MosaicBuilder. Brenda këtij dosje, kodi do të lexojë të gjitha nën -dosjet me një emër dosje që fillon me [prj_] si dosje të projektit mozaik. Brenda të gjithë këtyre dosjeve [prj_] do të përpiqet të hapë një skedar projekti të quajtur [_projectdata.txt] që përmban të gjithë informacionin e kërkuar për secilin projekt.

Një skedar projekti i tillë përbëhet nga:

  1. shtegu i plotë dhe emri i skedarit të imazhit të synuar të këtij projekti
  2. shtegu i plotë ku ruhen fotografi (pjesë) të këtij projekti individual
  3. Numri i kolonave që do të përmbajë mozaiku
  4. Numri i rreshtave që do të përmbajë mozaiku

Shembuj të projekteve jepen në skedarin zip: / slnBBMosaic2 / wfMosaicServerKinect / bin / x86 / Debug / prj_xxx

Në kodin e serverit C#, i gjithë trajtimi i mozaikut bëhet përmes një klase të personalizuar: BBMosaicProject.cs

Microsoft Kinect v2.0 - Greenscreen

Për të bërë fotografi, çdo aparat fotografik do të bëjë. Por unë kam përdorur Microsoft Kinect v2.0 për të kombinuar imazhe me ngjyra dhe imazhe të thella. Në këtë mënyrë, mund të krijohet një efekt me ekran të gjelbër. Sfondi në të gjitha imazhet me ngjyra të marra nga Kinect do të zëvendësohet me një sipërfaqe uniforme jeshile (BBBackgroundRemovalTool.cs).

Një referencë për Microsoft. Kinect u shtua në serverprojekt.

EMGU

Për shkak se ne duhet të jemi të sigurt se një person është në fotografinë e marrë kur është shtypur butoni, aftësitë e njohjes së fytyrës i janë shtuar RoboPhoto.

www.nuget.org/packages/Emgu. CV/3.4.3.3016

Vetëm kur një person është brenda figurës, ekrani i gjelbër në këtë foto do të zëvendësohet nga një sipërfaqe me ngjyrë të njëtrajtshme, me kode të ngjyrave të barabarta me ngjyrën mesatare të pjesës së synuar në mozaikun e ardhshëm, kjo fotografi do të bëhet.

Hapi 4: Faleminderit

Faleminderit
Faleminderit

Faleminderit që lexuat Udhëzuesin tim. Kjo ishte e para ime. Shpresoj se ju ka pelqyer.

Recommended: