Sisällysluettelo:

Face Aware OSD -valokuvakehys: 11 vaihetta (kuvien kanssa)
Face Aware OSD -valokuvakehys: 11 vaihetta (kuvien kanssa)

Video: Face Aware OSD -valokuvakehys: 11 vaihetta (kuvien kanssa)

Video: Face Aware OSD -valokuvakehys: 11 vaihetta (kuvien kanssa)
Video: Hoarder's Kitchen Repulses OCD Cleaner | Obsessive Compulsive Cleaners | Episode 11 | Filth 2024, Marraskuu
Anonim
Face Aware OSD -valokuvakehys
Face Aware OSD -valokuvakehys
Face Aware OSD -valokuvakehys
Face Aware OSD -valokuvakehys
Face Aware OSD -valokuvakehys
Face Aware OSD -valokuvakehys
Face Aware OSD -valokuvakehys
Face Aware OSD -valokuvakehys

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?

Miksi OSD -valokuvakehys?
Miksi OSD -valokuvakehys?
Miksi OSD -valokuvakehys?
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?

Miksi Face Aware?
Miksi Face Aware?
Miksi Face Aware?
Miksi Face Aware?
Miksi Face Aware?
Miksi Face Aware?
Miksi Face Aware?
Miksi Face Aware?

Tarkistetaan ensin, kuinka lisätä kuvaruututiedot kuvaruutuun:

  1. Valitse kuva satunnaisesti tietystä kansiosta
  2. Hae aikaa
  3. Hae välittömiä tietoja Internetistä
  4. 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

2-kerroksinen muotoilu
2-kerroksinen muotoilu

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:

  1. Valitse valokuva valokuvakansiosta sattumanvaraisesti
  2. Kasvojentunnistus
  3. määritä kasvot tai vähiten kasvojen alue
  4. Hae sillä välin säästä tai muuta hyödyllistä välitöntä tietoa Internetistä joka tietty aika
  5. Piirrä valokuvaan aikaa ja välittömiä tietoja
  6. 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

Asenna valokuvapalvelin Vaihtoehto 1: Telakointiaseman kuva
Asenna valokuvapalvelin Vaihtoehto 1: Telakointiaseman kuva
Asenna valokuvapalvelin Vaihtoehto 1: Telakointiaseman kuva
Asenna valokuvapalvelin Vaihtoehto 1: Telakointiaseman 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

Asiakasvaihtoehto 1: Web -selain
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

Asiakasvaihtoehto 2: ESP32 + LCD
Asiakasvaihtoehto 2: ESP32 + LCD
Asiakasvaihtoehto 2: ESP32 + LCD
Asiakasvaihtoehto 2: ESP32 + LCD
Asiakasvaihtoehto 2: ESP32 + LCD
Asiakasvaihtoehto 2: ESP32 + LCD
Asiakasvaihtoehto 2: ESP32 + LCD
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 + LCD -kokoonpano
ESP32 + LCD -kokoonpano
ESP32 + LCD -kokoonpano
ESP32 + LCD -kokoonpano
ESP32 + LCD -kokoonpano
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

ESP32 + LCD -ohjelmisto
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

  1. Avaa Arduino IDE
  2. Avaa ESP32PhotoFrame -mallikoodi ("Tiedosto" -> "Esimerkki" -> "GFX -kirjasto Arduinolle" -> "WiFiPhotoFrame")
  3. Täytä WiFi -tukiaseman asetuksiksi SSID_NAME ja SSID_PASSWORD
  4. Korvaa palvelimen isäntänimi tai IP -osoite ja portti HTTP_HOST- ja HTTP_PORT -porteissa
  5. Paina Arduino IDE "Lataa" -painiketta
  6. Jos suunta ei ole oikea, muuta "kierto" -arvoa (0-3) uudessa luokkakoodissa

Vaihe 10: Nauti valokuvasta

Nauti valokuvasta!
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: