Sisällysluettelo:
- Vaihe 1: Miksi OSD -valokuvakehys?
- Vaihe 2: Miksi Face Aware?
- Vaihe 3: Kahden tason suunnittelu
- Vaihe 4: Valokuvapalvelimen asennus Vaihtoehto 1: Docker -kuva
- Vaihe 5: Asenna valokuvapalvelin Vaihtoehto 2: Rakenna lähteestä
- Vaihe 6: Asiakasvaihtoehto 1: Web -selain
- Vaihe 7: Asiakasvaihtoehto 2: ESP32 + LCD
- Vaihe 8: ESP32 + LCD -kokoonpano
- Vaihe 9: ESP32 + LCD -ohjelmisto
- Vaihe 10: Nauti valokuvasta
- Vaihe 11: Mitä seuraavaksi?
Video: Face Aware OSD -valokuvakehys: 11 vaihetta (kuvien kanssa)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Tässä ohjekirjassa näytetään, kuinka voit tehdä kuvakehyksen, jossa on kasvotunnistava kuvaruutunäyttö (OSD).
OSD voi näyttää ajan, säätiedot ja muut haluamasi Internet -tiedot.
Vaihe 1: Miksi OSD -valokuvakehys?
Minulla on 2 valokuvakelloprojektia Instructablesissa ennen:
www.instructables.com/id/ESP32-Photo-Clock…
www.instructables.com/id/Arduino-BiJin-ToK…
Molemmat noutavat Internetistä minuutin välein valokuvan, jossa on kaunottaret, ja aikataulun ja näytetään nestekidenäytössä.
Kauneuksien näyttäminen on hyvä, mutta ne kaikki ovat minulle vieraita. Entä henkilökohtaisten suosikkikuviesi käyttäminen ja nykyisen ajan lisääminen ja lisätietoja siitä?
Tässä projektissa selvitetään, miten se toteutetaan.
Vaihe 2: Miksi Face Aware?
Tarkistetaan ensin, kuinka lisätä kuvaruututiedot kuvaruutuun:
- Valitse kuva satunnaisesti tietystä kansiosta
- Hae aikaa
- Hae välittömiä tietoja Internetistä
- piirtää valokuvaan aikaa ja välittömiä tietoja
Vaihe 1-3 on suoraan eteenpäin; Vaihe 4 näyttää myös yksinkertaiselta, mutta tekstin piirtäminen ei ole niin helppoa.
Jos tekstin koko on liian pieni, sitä on vaikea lukea kohtuullisella etäisyydellä; Jos tekstin koko on liian suuri, se todennäköisesti kattaa valokuvaobjektit. Varsinkin jos kyseessä on muotokuva, kasvojen sisältämä teksti ei ole suositeltavaa.
Koska kunkin valokuvan kasvojen sijainti ei ole sama, OSD -peitettyjen kasvojen välttämiseksi tarvitsemme ensin kasvojentunnistusprosessin. Sitten voimme löytää kasvotonta aluetta tekstin piirtämiseksi.
Vaihe 3: Kahden tason suunnittelu
Kasvontunnistusprosessi vaatii jonkin verran prosessointitehoa, sitä vastoin valokuvakehys voi olla erittäin kevyt. Joten jaoin sen 2-tasoiseksi:
Palvelin
Kasvotietoinen valokuvamoottori on Node.js -sovelluspalvelin. Jokaisen HTTP -pyynnön kohdalla se:
- Valitse valokuva valokuvakansiosta sattumanvaraisesti
- Kasvojentunnistus
- määritä kasvot tai vähiten kasvojen alue
- Hae sillä välin säästä tai muuta hyödyllistä välitöntä tietoa Internetistä joka tietty aika
- Piirrä valokuvaan aikaa ja välittömiä tietoja
- Palauta valokuva ja OSD JPEG -muodossa HTTP -vastauksena
Asiakas
Asiakas voi olla verkkoselain, sovelma tai IoT -laite.
Esim. ESP32-kehityskone 2-4 tuuman LCD-näytöllä sopii hyvin työpöydälle pieneksi valokuvakehykseksi.
Vaihe 4: Valokuvapalvelimen asennus Vaihtoehto 1: Docker -kuva
Kätevyyden vuoksi olen valmiiksi rakentanut Docker-kuvan kasvotietoiselle OSD Node.js -sovelluspalvelimelle.
Jos et ole vielä asentanut Dockeria, noudata Dockerin aloitusopasta:
www.docker.com/get-started
Suorita sitten seuraava komento: (korvaa/path/to/photo omalle valokuvapolullesi)
telakointiasema -p 8080: 8080 -v/path/to/photo:/app/photo moononournation/face-tietoinen-photo-osd: 1.0.1
Testaa selaamalla osoitteeseen https:// localhost: 8080/
Saatat huomata, että näyttöaika ei ole aikavyöhykkeelläsi:
docker run -p 8080: 8080 -e TZ = Asia/Hong_Kong -v/path/to/photo:/app/photo moononournation/face -tietoinen -photo -osd: 1.0.1
Jos asut Hongkongissa kuten minä, voit lisätä Hongkongin säätiedot:
telakointiasema -p 8080: 8080 -e TZ = Asia/Hong_Kong -e OSD = HK_Weather -v/path/to/photo:/app/photo moononournation/face -tietoinen -photo -osd: 1.0.1
Jos haluat kehittää omia OSD -tietoja:
mkdir -p ~/git
cd ~/git git clone https://github.com/moononournation/face-aware-photo-osd.git docker run -it -p 8080: 8080 -e TZ = Asia/Hong_Kong -e OSD = HK_Weather -e DEBUG = Y -v/polku/kohteeseen/valokuva:/app/photo -v ~/git/face -otud-photo-osd/app.js: /app/app.js moononournation/face-tietoinen-photo-osd: 1.0. 1
Muokkaa update_osd () -funktiota sovelluksessa.js räätälöidäksesi omat OSD-tiedot. Kehityksen jälkeen poista DEBUG = Y -ympäristö docker -komennosta.
Vaihe 5: Asenna valokuvapalvelin Vaihtoehto 2: Rakenna lähteestä
Jos tunnet Node.js -tiedoston, voit rakentaa sovelluspalvelimen lähdekoodista.
Hae lähde:
git-klooni
Asenna paketit:
cd kasvotietoinen-valokuva-osd
npm asennus
Luo valokuvakansio ja kopioi omat valokuvat kansioon.
Suorita sovelluspalvelin:
solmu app.js
Vaihe 6: Asiakasvaihtoehto 1: Web -selain
Selaa vain osoitteeseen https:// localhost: 8080/
Sivu on skriptattu ja lataa automaattisesti sopivan kokoisen kuvan joka minuutti.
P. S. Jos selaat toiselta koneelta, joka ei käytä sovelluspalvelinta, muista vaihtaa localhost sovelluspalvelimen isäntänimeksi tai IP -osoitteeksi.
Vaihe 7: Asiakasvaihtoehto 2: ESP32 + LCD
Valokuvakehysasiakas voi olla yhtä yksinkertainen kuin ESP32 -kehityskortti ja nestekidenäyttö.
Tässä ovat tarvittavat laitteistot:
ESP32 -kehityskortti
Kaikkien ESP32-kehityskorttien pitäisi olla kunnossa, tällä kertaa käytän levyä nimeltä MH-ET LIVE.
LCD -näyttö
Mikä tahansa Arduino_GFX -tuettu nestekidenäyttö, saatat löytää tällä hetkellä tuetun näytön GitHub -lukemasta:
github.com/moononournation/Arduino_GFX
Hyppyjohdin
Jotkut hyppyjohdot riippuvat kehityskortista ja LCD -nastojen asettelusta. Useimmiten 6-9 naaras-naarasliitin riittää.
LCD -jalusta
Jotkut tuet auttavat LCD -näyttöä seisomaan suoraan, tällä kertaa käytän kortinpidikettä.
Vaihe 8: ESP32 + LCD -kokoonpano
ESP32, jossa on tapin otsikko yläpuolella, on edullinen. Jos nastan otsikko on alapuolella, aseta levy ylösalaisin;>
Liitä ESP32 ja nestekidenäyttö hyppyjohdoilla ja kiinnitä se sitten telineeseen.
Tässä on esimerkkiyhteenveto:
ESP32 -> LCD
Vcc -> Vcc GND -> GND GPIO 5 -> CS GPIO 27 -> DC (jos saatavilla) GPIO 33 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (valinnainen) GPIO 22 -> LED (jos saatavilla) GPIO 23 -> MOSI / SDA
Vaihe 9: ESP32 + LCD -ohjelmisto
Arduino IDE
Lataa ja asenna Arduino IDE, jos et ole vielä tehnyt sitä:
www.arduino.cc/en/main/software
ESP32 -tuki
Lisää ESP32 -tuki asennusohjeiden mukaisesti, jos et ole vielä tehnyt sitä:
github.com/espressif/arduino-esp32
Arduino_GFX -kirjasto
Lataa uusimmat Arduino_GFX -kirjastot: (paina "Kloona tai lataa" -> "Lataa ZIP")
github.com/moononournation/Arduino_GFX
Tuo kirjastoja Arduino IDE: ssä. (Arduino IDE "Sketch" -valikko -> "Include Library" -> "Add. ZIP Library" -> valitse ladattu ZIP -tiedosto)
Käännä ja lataa
- Avaa Arduino IDE
- Avaa ESP32PhotoFrame -mallikoodi ("Tiedosto" -> "Esimerkki" -> "GFX -kirjasto Arduinolle" -> "WiFiPhotoFrame")
- Täytä WiFi -tukiaseman asetuksiksi SSID_NAME ja SSID_PASSWORD
- Korvaa palvelimen isäntänimi tai IP -osoite ja portti HTTP_HOST- ja HTTP_PORT -porteissa
- Paina Arduino IDE "Lataa" -painiketta
- Jos suunta ei ole oikea, muuta "kierto" -arvoa (0-3) uudessa luokkakoodissa
Vaihe 10: Nauti valokuvasta
On aika laittaa IoT -valokuvakehys työpöydällesi ja nauttia!
Vaihe 11: Mitä seuraavaksi?
- Lisää omat välittömät tietosi
- Hienosäädä lähdekuvan kokoa parantaaksesi kasvojen tunnistusta
- Automaattinen tehtävä laittaa uusimmat valokuvat palvelimen valokuvakansioon
- Ota lisää kuvia;>
Suositeltava:
Infrapuna -anturin käyttäminen Arduinon kanssa: 8 vaihetta (kuvien kanssa)
Infrapuna -anturin käyttäminen Arduinon kanssa: Mikä on infrapuna -anturi? . IR -signaali
Automaattinen lataus (tyhjiö) -kytkin ACS712: n ja Arduinon kanssa: 7 vaihetta (kuvien kanssa)
Automaattinen kuorman (tyhjiö) kytkin ACS712: n ja Arduinon kanssa: Hei kaikki! Sähkötyökalun käyttäminen suljetussa tilassa on kiire, koska kaikki ilmassa oleva pöly ja ilmassa oleva pöly tarkoittaa pölyä keuhkoissasi. Vac -myymälän suorittaminen voi poistaa osan tästä riskistä, mutta kytkeä sen päälle ja pois päältä joka kerta
GPS-moduulin (NEO-6m) liittäminen Arduinon kanssa: 7 vaihetta (kuvien kanssa)
GPS-moduulin (NEO-6m) liittäminen Arduinon kanssa: Tässä projektissa olen osoittanut, kuinka liittää GPS-moduuli Arduino UNO: n kanssa. Pituus- ja leveysasteiden tiedot näkyvät nestekidenäytössä ja sijaintia voi tarkastella sovelluksessa. Luettelo materiaalista Arduino Uno == > 8 dollarin Ublox NEO-6m GPS -moduuli == > 15 dollaria 16x
Kuvien tallentaminen tehtävää varten: 4 vaihetta (kuvien kanssa)
Kuvien tallentaminen tehtävää varten: 1. Avaa uusi Google -asiakirja ja suojaa kuvat tällä sivulla. Käytä ctrl (ohjaus) ja " c " kopioitava näppäin 3. Käytä ctrl (control) ja " v " liitettävä avain
Kuvien tekeminen saumattomiksi vain vaaka- tai pystysuunnassa ("The GIMP"): 11 vaihetta (kuvien kanssa)
Kuvien tekeminen saumattomiksi vain vaaka- tai pystysuunnassa ("The GIMP"): Jos yrität "Tee saumaton" -laajennusta GIMP: ssä, se tekee kuvasta saumattoman sekä vaaka- että pystysuunnassa samanaikaisesti. Se ei salli sinun tehdä siitä saumatonta vain yhdessä ulottuvuudessa. Tämä ohje auttaa sinua saamaan kuvan