Tartalomjegyzék:

Arcra figyelő OSD képkeret: 11 lépés (képekkel)
Arcra figyelő OSD képkeret: 11 lépés (képekkel)

Videó: Arcra figyelő OSD képkeret: 11 lépés (képekkel)

Videó: Arcra figyelő OSD képkeret: 11 lépés (képekkel)
Videó: Kingdom Rush PC 2K 2560x1440p Gameplay Iron 1st Stage Walkthrough on Steam - Shadowplay - OSD 2024, November
Anonim
Arcra figyelő OSD képkeret
Arcra figyelő OSD képkeret
Arcra figyelő OSD képkeret
Arcra figyelő OSD képkeret
Arcra figyelő OSD képkeret
Arcra figyelő OSD képkeret
Arcra figyelő OSD képkeret
Arcra figyelő OSD képkeret

Ez az utasítások bemutatják, hogyan készíthet képkeretet arctisztító képernyőn (OSD).

Az OSD megjelenítheti a kívánt időt, időjárást vagy egyéb internetes információkat.

1. lépés: Miért az OSD képkeret?

Miért az OSD képkeret?
Miért az OSD képkeret?
Miért az OSD képkeret?
Miért az OSD képkeret?

Az Instructables -ben korábban 2 fotóóra projektem volt:

www.instructables.com/id/ESP32-Photo-Clock…

www.instructables.com/id/Arduino-BiJin-ToK…

Mindkettő percenként lekér egy fényképet szépségekkel és egy időmérőt az Internetről, és megjeleníti az LCD -n.

A szépségek megjelenítése jó, de mindannyian idegenek számomra. Mit szólnál a személyes kedvenc fotóidhoz, és adj hozzá aktuális időt és további azonnali információkat róla?

Ez a projekt azt vizsgálja, hogyan lehet elkészíteni.

2. lépés: Miért érdemes szembe nézni?

Miért Face Aware?
Miért Face Aware?
Miért Face Aware?
Miért Face Aware?
Miért Face Aware?
Miért Face Aware?
Miért Face Aware?
Miért Face Aware?

Először nézzük meg, hogyan lehet azonnali információs OSD -t hozzáadni a fényképhez:

  1. Véletlenszerűen válasszon ki egy fényképet egy adott mappából
  2. Idő lekérése
  3. Azonnali információk lekérése az Internetről
  4. rajzoljon időt és azonnali információkat a fényképre

Az 1-3. Lépés egyenesen előre halad; A 4. lépés is egyszerűnek tűnik, de nem könnyű meghatározni, hogy hová kell rajzolni a szöveget.

Ha a szöveg mérete túl kicsi, akkor nehéz ésszerű távolságban olvasni; Ha a szöveg mérete túl nagy, akkor valószínűleg lefedi a fotóobjektumokat. Különösen, ha portréfotóról van szó, az arcokat borító szöveg nem előnyös.

Mivel az egyes fényképek arcának helyzete nem azonos, az OSD -vel fedett arcok elkerülése érdekében először arcfelismerési eljárásra van szükség. Ezután találunk egy arc nélküli területet a szöveg rajzolásához.

3. lépés: Kétszintes tervezés

2 szintes kivitel
2 szintes kivitel

Az arcfelismerési folyamat némi feldolgozási teljesítményt igényel, ezzel szemben a képkeret nagyon könnyű lehet. Tehát 2 szintre osztottam:

szerver

Az arctudatos fotómotor egy Node.js alkalmazásszerver. Minden HTTP -kérés esetén:

  1. Válasszon véletlenszerűen egy fényképet a fotómappából
  2. Arcfelismerés
  3. ne határozza meg az arc vagy a legkisebb arc területét
  4. Közben bizonyos időközönként lekérheti az időjárást vagy egyéb hasznos azonnali információkat az internetről
  5. Rajzoljon időt és azonnali információkat a fényképre
  6. A fénykép visszaadása OSD -vel JPEG formátumban HTTP válaszként

Ügyfél

Az ügyfél lehet webböngésző, kisalkalmazás vagy IoT -eszköz.

Például. egy 2-4 hüvelykes LCD kijelzővel ellátott ESP32 fejlesztő nagyon alkalmas arra, hogy apró képkeretként helyezze el az asztalon.

4. lépés: A Photo Server beállítása 1. lehetőség: Docker Image

Fotószerver beállítása 1. lehetőség: Docker Image
Fotószerver beállítása 1. lehetőség: Docker Image
Fotószerver beállítása 1. lehetőség: Docker Image
Fotószerver beállítása 1. lehetőség: Docker Image

A kényelem érdekében előre elkészítettem egy Docker-képet az arctisztító fotó OSD Node.js alkalmazásszerverhez.

Ha még nem állította be a Docker alkalmazást, kövesse a Docker Első lépések útmutatóját:

www.docker.com/get-started

Ezután futtassa a következő parancsot: (cserélje ki a/path/to/photo lehetőséget a saját fotóútvonalához)

docker run -p 8080: 8080 -v/path/to/photo:/app/photo moononournation/face -otud-photo-osd: 1.0.1

Tesztelje a következő címen: https:// localhost: 8080/

Előfordulhat, hogy a megjelenítési idő nem az Ön időzónájában van:

docker run -p 8080: 8080 -e TZ = Asia/Hong_Kong -v/path/to/photo:/app/photo moononournation/face -otud -photo -osd: 1.0.1

Ha Hongkongban él, mint én, felveheti Hongkong időjárási információit:

docker run -p 8080: 8080 -e TZ = Asia/Hong_Kong -e OSD = HK_Weather -v/path/to/photo:/app/photo moononournation/face -otud -photo -osd: 1.0.1

Ha saját OSD -információit szeretné fejleszteni:

mkdir -p ~/git

cd ~/git git klón 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/elérési út/a/fotó:/app/photo -v ~/git/face -otud-photo-osd/app.js: /app/app.js moononournation/face -otud-photo-osd: 1.0. 1

Módosítsa az update.osd () függvényt az app.js fájlban, hogy személyre szabhassa saját OSD adatait. A fejlesztés után egyszerűen távolítsa el a DEBUG = Y környezetet a docker parancsból.

5. lépés: A Photo Server beállítása 2. lehetőség: Build from Source

Ha ismeri a Node.js -t, az alkalmazásszervert forrásból építheti fel.

Szerezd meg a forrást:

git klón

Csomagok telepítése:

cd arctudatos-fotó-osd

npm telepítés

Hozzon létre fényképmappát, és másolja saját fényképeit a mappába.

Futtassa az alkalmazásszervert:

csomópont app.js

6. lépés: Az ügyfél 1. lehetősége: webböngésző

1. ügyfélopció: webböngésző
1. ügyfélopció: webböngésző

Egyszerűen böngészjen a https:// localhost: 8080/címre

Az oldal szkriptben automatikusan betölt egy megfelelő oldalméretű képet percenként.

P. S. Ha egy másik gépről böngész, amely nem futtatja az alkalmazásszervert, ne felejtse el megváltoztatni a localhost alkalmazást az alkalmazásszerver gazdagépnevére vagy IP -címére.

7. lépés: 2. kliens opció: ESP32 + LCD

2. kliens opció: ESP32 + LCD
2. kliens opció: ESP32 + LCD
2. kliens opció: ESP32 + LCD
2. kliens opció: ESP32 + LCD
2. kliens opció: ESP32 + LCD
2. kliens opció: ESP32 + LCD
2. kliens opció: ESP32 + LCD
2. kliens opció: ESP32 + LCD

A képkeretes kliens olyan egyszerű lehet, mint az ESP32 fejlesztői kártya és az LCD.

Itt vannak a szükséges hardverek:

ESP32 Dev Board

Bármelyik ESP32 fejlesztőtáblának rendben kell lennie, ezúttal az MH-ET LIVE nevű táblát használom.

LCD kijelzö

Bármely Arduino_GFX támogatott LCD -kijelzőn megtalálhatja a jelenleg támogatott kijelzőt a GitHub readme -ben:

github.com/moononournation/Arduino_GFX

Jumper huzal

Egyes jumper vezetékek a fejlesztőtábla és az LCD érintkezők elrendezésétől függnek. A legtöbb esetben elegendő 6-9 női-női áthidaló vezeték.

LCD állvány

Egyes támogatások segítenek az LCD -nek egyenesen állni, ezúttal kártyatartó állványt használok.

8. lépés: ESP32 + LCD összeszerelés

ESP32 + LCD szerelvény
ESP32 + LCD szerelvény
ESP32 + LCD szerelvény
ESP32 + LCD szerelvény
ESP32 + LCD szerelvény
ESP32 + LCD szerelvény

Előnyös az ESP32, amelynek felső oldalán csapcsap található. Ha a csapfej az alsó oldalon található, egyszerűen tegye fejjel lefelé a táblát;>

Csatlakoztassa az ESP32 -t és az LCD -t áthidaló vezetékekkel, majd illessze az állványra.

Íme a kapcsolat összefoglaló mintája:

ESP32 -> LCD

Vcc -> Vcc GND -> GND GPIO 5 -> CS GPIO 27 -> DC (ha elérhető) GPIO 33 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (opcionális) GPIO 22 -> LED (ha elérhető) GPIO 23 -> MOSI / SDA

9. lépés: ESP32 + LCD szoftver

ESP32 + LCD szoftver
ESP32 + LCD szoftver

Arduino IDE

Töltse le és telepítse az Arduino IDE programot, ha még nem tette meg:

www.arduino.cc/en/main/software

ESP32 támogatás

Kövesse a telepítési utasításokat az ESP32 támogatás hozzáadásához, ha még nem tette meg:

github.com/espressif/arduino-esp32

Arduino_GFX könyvtár

Töltse le a legújabb Arduino_GFX könyvtárakat: (nyomja meg a "Klón vagy letöltés" -> "Letöltés ZIP" gombot)

github.com/moononournation/Arduino_GFX

Könyvtárak importálása az Arduino IDE -ben. (Arduino IDE "Vázlat" menü -> "Könyvtár beillesztése" -> ". ZIP könyvtár hozzáadása" -> válassza ki a letöltött ZIP fájlt)

Fordítás és feltöltés

  1. Nyissa meg az Arduino IDE -t
  2. Nyissa meg az ESP32PhotoFrame mintakódot ("Fájl" -> "Példa" -> "GFX Library for Arduino" -> "WiFiPhotoFrame")
  3. Töltse ki a WiFi AP beállításait az SSID_NAME és SSID_PASSWORD kódokba
  4. Cserélje ki a szerver gazdagépnevét vagy IP -címét és portját a HTTP_HOST és HTTP_PORT fájlokban
  5. Nyomja meg az Arduino IDE „Feltöltés” gombot
  6. Ha úgy találja, hogy a tájolás nem megfelelő, módosítsa a "forgás" értéket (0-3) az új osztálykódban

10. lépés: Élvezze a fényképet

Élvezze a fényképet!
Élvezze a fényképet!

Itt az ideje, hogy az IoT képkeretet az asztalra tegye, és élvezze!

11. lépés: Mi a következő lépés?

  • Adja hozzá saját azonnali adatait
  • Finomítsa a forrás fotó méretét a jobb arcfelismerési pontosság érdekében
  • Automatikus feladat, hogy a legfrissebb fényképeket a szerver fotómappájába helyezze
  • Készítsen több fényképet;>

Ajánlott: