Satura rādītājs:

RoboPhoto - mozaīku ģenerators sabiedrībai: 4 soļi
RoboPhoto - mozaīku ģenerators sabiedrībai: 4 soļi

Video: RoboPhoto - mozaīku ģenerators sabiedrībai: 4 soļi

Video: RoboPhoto - mozaīku ģenerators sabiedrībai: 4 soļi
Video: Why the Monument to Communism in the Sky was ABANDONED 2024, Novembris
Anonim
Image
Image
RoboPhoto - mozaīkas ģenerators sabiedrībai
RoboPhoto - mozaīkas ģenerators sabiedrībai
RoboPhoto - mozaīkas ģenerators sabiedrībai
RoboPhoto - mozaīkas ģenerators sabiedrībai

RoboPhoto ir reāllaika fotomozažu ģenerators

Kamēr jūs gaidāt, RoboPhoto izveido savu lietotāju fotomozaiku.

Izmantojot mūsdienīgas digitālās metodes, piemēram, attēlu apstrādi, sejas atpazīšanu un mākslīgo intelektu, RoboPhoto spēj radīt fotomozāžu, kurā visi apmeklētāji iet garām un nospiež tās pogu-reālā laikā.

Katru reizi, nospiežot pogu, tiek uzņemta fotogrāfija par personu, kas atrodas pie rokas. Katru fotoattēlu uzreiz skenē un interpretē RoboPhoto. Pēc tam RoboPhoto programmatūra mainīs visu atsevišķo attēlu tā, lai tas kļūtu par lielāka attēla daļu, un pēc tam izdrukā šo izmainīto attēlu uz uzlīmes, kas apzīmēta ar koordinātu kopu, kas norāda katra fotoattēla atrašanās vietu šajā lielākajā attēlā. Pēc tam katram apmeklētājam tiek lūgts izvietot savu fotoattēlu uzlīmi uz lielāka audekla, kurā ir tikai atbilstošs režģis.

RoboPhoto darbības laikā tiks izveidots jauns attēls. Fotomozaīze, kas sastāv no šīm atsevišķajām fotogrāfijām, kas atdarinās iepriekš definētu “mērķa attēlu”.

RoboPhoto darbojas arī viena lietotāja režīmā. Šādi konfigurējot, RoboPhoto izveido pilnu viena lietotāja mozaīku.

Piegādes

  • Windows 10 dators ar instalētām Visual Studio un IoT pakotnēm
  • Raspberry Pi 3B+ ar instalētu Microsoft Windows 10 IoT
  • Krāsu etiķešu printeris (Brother VC-500W)
  • Liela sarkana spiedpoga, kas uzstādīta uz pjedestāla lietotāja ievadīšanai
  • HDMI ekrāns lietotāju atsauksmēm
  • Microsoft Xbox Kinect v2 kamera- nozagta no mana dēla- fotografēšanai
  • Tīkls (Wifi, LAN)
  • Mērķa režģis. Papīra lapa, uz kuras ir uzdrukāts režģis -piepildīta ar koordinātām. Šo papīra režģi izmanto kā audeklu, kur apmeklētāji var pielīmēt savu fotogrāfiju norādītajās koordinātās. Un galu galā viņi kopā veidos gala rezultātu: skaistu jaunu fotomozaiku.

Tika izmantota icrosoft Kinect 2.0 kamera, jo tā var uzņemt dziļuma attēlus. Šo funkciju izmanto, lai katram atsevišķam fotogrāfam izveidotu virtuālu zaļo ekrānu. Tādā veidā RoboPhoto var pārkrāsot fonu katrai atsevišķai fotogrāfijai, lai tā atbilstu mērķa gabala krāsai topošajā mozaīkā.

1. darbība. Kā tas darbojas

Kā tas darbojas
Kā tas darbojas
Kā tas darbojas
Kā tas darbojas
Kā tas darbojas
Kā tas darbojas
Kā tas darbojas
Kā tas darbojas

RoboPhoto ir instalācija, kurā ir pjedestāls ar lielu sarkanu pogu, dators ar etiķešu printeri un neliela IoT ierīce, kas apstrādā lietotāja saskarni (ekrānu un pogu). Manā gadījumā: RaspBerry 3B+.

  1. RoboPhoto darbojas publiski pieejamā vietā un (pēc tā ieslēgšanas) darbojas pats. Skrienot, RoboPhoto mudina garāmgājējus nospiest lielo sarkano pogu.
  2. Ikreiz, kad tiek nospiesta šī lielā sarkanā poga, RoboPhoto nofotografēs apmeklētāju, kurš tikko nospiedis pogu ar Kinect kameru.
  3. Tad RoboPhoto izmantos savu uzlaboto A. I. un attēlu apstrādes prasmes, lai mainītu katru fotoattēlu, lai tas atbilstu topošās mozaīkas daļai. Lai to panāktu, RoboPhoto pārkrāso katra fotoattēla fonu, lai tas atbilstu mērķa gabala krāsai iepriekš ielādētā attēlā. Pēc rediģēšanas RoboPhoto izdrukā rediģēto fotoattēlu uz uzlīmes kopā ar koordinātu kopu, kas precīzi norāda šīs vienas uzlīmes atrašanās vietu mozaīkā.

  4. Pēc tam lietotājam tiek lūgts novietot uzlīmi uz mozaīkas mērķa lapas.
  5. Un tādējādi - pēc daudzu cilvēku apmeklējuma - parādīsies jauns mākslas darbs. Lai izveidotu mozaīku, jums būs nepieciešams daudz atsevišķu gabalu. Man ir pienācīgi rezultāti, kas darbojas 600 gabalos

RoboPhoto var darboties arī viena lietotāja režīmā.

Šajā konfigurācijā RoboPhoto izveido pilnu mozaīku no viena lietotāja rediģētām fotogrāfijām. Pēc pogas nospiešanas RoboPhoto uzņems aptuveni> 600 dažādas lietotāja fotogrāfijas, pēc tam tās visas rediģēs un sakārtos, lai izveidotu vienu jaunu mozaīku, kas izveidota pēc iepriekš atlasīta mērķa attēla.

2. darbība: aparatūras montāža

Aparatūras salikšana
Aparatūras salikšana
Aparatūras salikšana
Aparatūras salikšana

Kā parādīts attēlā, Win 10 dators ir pievienots Kinect kamerai. Kinect ir jāpievieno, izmantojot USB 3.0. Laikā, kad izveidoju RoboPhoto - nebija pieejams Raspberry Pi ar USB 3.0.*

Datoru izmanto arī, lai apstrādātu drukāšanu pievienotajā etiķešu printerī. Manā gadījumā Brother VC-500W. Diezgan lēts sadzīves krāsu etiķešu drukātājs. Tomēr tas ir ļoti lēns. Ja iespējams, labāk izmantot profesionālu.

Lielā sarkanā poga ir pievienota Raspberry Pi 3B+. GPIO ir pievienoti tikai 4 vadi. Šī ir vienīgā lodēšana, kas nepieciešama šajā instrukcijā. Pi arī nodrošina atgriezenisko saiti mūsu apmeklētājam, izmantojot 7 collu TFT ekrānu, izmantojot HDMI.

Lai to sakārtotu, es uzbūvēju koka pjedestālu, kurā ir visas šīs sastāvdaļas.

Blakus pjedestālam, pie sienas, tiek novietota papīra lapa, kurā ir mērķa režģis un koordinātas (A1/A2). Tā kā es izmantoju etiķešu printeri ar maksimālo platumu = 2, 5 cm, visi šī režģa kvadrāti ir 2, 5 cm x 2, 5 cm.

*Šodien Raspberry Pi4 piedāvā USB3.0. Alse W10 var palaist ierīcē. Tātad teorētiski vajadzētu būt iespējai izveidot RoboPhoto v2.0, neizmantojot datoru. Varbūt Covid '19 man nodrošinās pietiekami daudz laika, lai es varētu drīzumā publicēt šādu pamācību.

3. darbība: koda rakstīšana

Koda rakstīšana
Koda rakstīšana
Koda rakstīšana
Koda rakstīšana

Kods

RoboPhoto tika izveidots, izmantojot VisualStudio kā risinājumu ar diviem projektiem:

  1. Programma Windows Forms datorā mitina TCP serveri un apstrādā Kinect ievadi
  2. Raspberry Pi 3B+ mitina TCP klientu UWP vadītajā lietojumprogrammā (iestatīta kā starta lietotne), lai apstrādātu pogas nospiešanas notikumus un sniegtu lietotājam atsauksmes, izmantojot 7 collu TFT ekrānu.

Iepriekš redzamajā diagrammā esmu mēģinājis sniegt jums priekšstatu par to, ko dara mans mīkstais. Visual Studio, ko es uzrakstīju, lai izveidotu šo (absolūti 100% strādājošo) RoboPhoto risinājumu, ir nodrošināts ar šo pamācību. Tomēr man ir jābrīdina visi, kas nolaiž šo failu: Kods, kuru es uzrakstīju, ir tālu no skaistā un bieži ir saistīts ar manu dev-PC. Tāpēc es aicinu ikvienu radīt labāku, jaukāku un stabilāku risinājumu.

1drv.ms/u/s!Aq7eBym1bHDKkKcigYzt8az9WEYOOg…

Tīkls

Piemēra kodā Pi kods tiek izvietots, izmantojot Visual Studio, uz mana tīkla IPAdresi. Jums, iespējams, vajadzētu mainīt to, lai tas atbilstu jūsu. Lai to izdarītu - pēc risinājuma atvēršanas Visual Studio ar peles labo pogu noklikšķiniet uz ARM klienta projekta, pēc tam izvēlieties rekvizītus un novietojiet vērtību Remote machine uz savas Pi IPAdd. Tāpat jums ir jāatļauj datplūsma no klienta uz serveri 8123 portā servera (datora) Windows ugunsmūra ietvaros. Ja palaižat risinājumu no Visual Studio, tai vajadzētu lūgt to izdarīt U.

Kodējot, man bija daudz grūtību panākt, lai W32 un UWP pareizi sazinātos. Man tas izdevās, izmantojot divas atsevišķas klases klientā un serverī: resp MyEchoClient.cs (ARM klientā) un ConnectionClient.cs (klienta savienojumu savienošana serverī).

Mozaīkas faili - pielāgota klase

RoboPhoto rada mozaīkas, lai atdarinātu mērķa attēlu. Šis mērķa attēls un visas atsevišķās fotogrāfijas, kas kopā veido topošo mozaīku, kā arī dažas citas katra RoboPhoto īpašības tiek glabātas failu sistēmas failos. Mans pievienotais kods izmanto failu un mapju kopu direktorijā c: / tmp / MosaicBuilder. Šajā mapē kods nolasīs visas apakšmapes ar mapes nosaukumu, kas sākas ar [prj_] kā mozaīkas projektu mapes. Visās šajās [prj_] mapēs tā mēģinās atvērt projekta failu ar nosaukumu [_projectdata.txt], kurā ir visa informācija, kas nepieciešama katram projektam.

Šāds projekta fails sastāv no:

  1. pilns šī projekta mērķa attēla ceļš un faila nosaukums
  2. pilnu ceļu, kur tiek glabātas atsevišķas šī projekta fotogrāfijas (gabali)
  3. Kolonnu skaits mozaīkā
  4. Mozaīkas rindu skaits

Projektu piemēri ir ietverti ZIP failā: / slnBBMosaic2 / wfMosaicServerKinect / bin / x86 / Debug / prj_xxx

C# servera kodā visa mozaīkas apstrāde tiek veikta, izmantojot pielāgotu klasi: BBMosaicProject.cs

Microsoft Kinect v2.0 - zaļais ekrāns

Lai vienkārši fotografētu, derēs jebkura kamera. Bet es esmu izmantojis Microsoft Kinect v2.0, lai apvienotu krāsainus attēlus un dziļuma attēlus. Tādā veidā var izveidot zaļā ekrāna efektu. Visu no Kinect saņemto krāsu attēlu fons tiks aizstāts ar vienmērīgu zaļu virsmu (BBBackgroundRemovalTool.cs).

Serverprojektam tika pievienota atsauce uz Microsoft. Kinect.

EMGU

Tā kā mums ir jābūt pārliecinātiem, ka uz fotogrāfijas, kas uzņemta, nospiežot pogu, ir redzama kāda persona, RoboPhoto tika pievienotas sejas atpazīšanas iespējas.

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

Tikai tad, kad attēlā ir redzama kāda persona, zaļo ekrānu šajā attēlā nomainīs vienveidīga krāsaina virsma, kuras krāsu kodi būs vienādi ar mērķa gabala vidējo krāsu topošajā mozaīkā.

4. solis: Paldies

Paldies
Paldies

Paldies, ka izlasījāt manu pamācību. Šī bija mana pirmā. Es ceru, ka jums patika.

Ieteicams: