Obsah:

Fotorámik OSD Face Aware: 11 krokov (s obrázkami)
Fotorámik OSD Face Aware: 11 krokov (s obrázkami)

Video: Fotorámik OSD Face Aware: 11 krokov (s obrázkami)

Video: Fotorámik OSD Face Aware: 11 krokov (s obrázkami)
Video: The Mindful Millionaire Timeless Lessons on Wealth Greed and Happiness in the Psychology of Money 2024, Júl
Anonim
Fotorámik OSD s funkciou Face Aware
Fotorámik OSD s funkciou Face Aware
Fotorámik OSD s funkciou Face Aware
Fotorámik OSD s funkciou Face Aware
Fotorámik OSD s funkciou Face Aware
Fotorámik OSD s funkciou Face Aware
Fotorámik OSD s funkciou Face Aware
Fotorámik OSD s funkciou Face Aware

Tento návod ukazuje, ako vytvoriť fotorámik s OSD obrazovkou s rozpoznaním tváre.

OSD môže zobrazovať čas, počasie alebo iné požadované internetové informácie.

Krok 1: Prečo OSD fotorámček?

Prečo OSD fotorámček?
Prečo OSD fotorámček?
Prečo OSD fotorámček?
Prečo OSD fotorámček?

Predtým som mal 2 projekty hodín s fotografiami na stránke Instructables:

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

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

Obaja každú minútu načítajú z internetu fotografiu s kráskami a časovým plánom a zobrazia sa na LCD displeji.

Zobrazovanie krás je dobré, ale všetky sú mi cudzie. Čo tak použiť osobné obľúbené fotografie a pridať k nim aktuálny čas a ďalšie okamžité informácie?

Tento projekt skúma, ako ho vytvoriť.

Krok 2: Prečo si byť vedomý tváre?

Prečo Face Aware?
Prečo Face Aware?
Prečo Face Aware?
Prečo Face Aware?
Prečo Face Aware?
Prečo Face Aware?
Prečo Face Aware?
Prečo Face Aware?

Poďme sa najskôr pozrieť na to, ako do fotografie pridať okamžité informačné OSD:

  1. Náhodne vyberte fotografiu z konkrétneho priečinka
  2. Čas načítania
  3. Načítajte okamžité informácie z internetu
  4. nakreslite čas a okamžité informácie o fotografii

Krok 1-3 je priamo vpred; Krok 4 tiež vyzerá jednoducho, ale určiť, kam nakresliť text, nie je také jednoduché.

Ak je text príliš malý, je ťažké ho prečítať v primeranej vzdialenosti; Ak je veľkosť textu príliš veľká, s najväčšou pravdepodobnosťou pokrýva fotografické objekty. Zvlášť ak ide o portrétnu fotografiu, nie je preferovaný text pokrytý tvárami.

Pretože poloha tvárí pre každú fotografiu nie je rovnaká, aby sme sa vyhli tváram pokrytým OSD, potrebujeme najskôr proces rozpoznania tváre. Potom môžeme nájsť oblasť bez tváre na nakreslenie textu.

Krok 3: Dvojúrovňový dizajn

Dvojúrovňový dizajn
Dvojúrovňový dizajn

Proces detekcie tváre vyžaduje určitý výkon, na rozdiel od toho môže byť fotorámček veľmi ľahký. Preto som to rozdelil do dvoch úrovní:

Server

Fotografický engine rozpoznávajúci tvár je aplikačný server Node.js. Pre každú požiadavku HTTP bude:

  1. Vyberte fotografiu z priečinka s fotografiami náhodne
  2. Detekcia tváre
  3. neurčujte oblasť bez tváre alebo najmenších tvárí
  4. Medzitým v každom určitom období načítajte informácie o počasí alebo iné užitočné okamžité informácie z internetu
  5. Nakreslite čas a okamžité informácie o fotografii
  6. Vráťte fotografiu s OSD vo formáte JPEG ako odpoveď

Zákazník

Klientom môže byť webový prehliadač, applet alebo zariadenie internetu vecí.

Napr. ESP32 dev boasrd s 2-4 palcovým LCD displejom je veľmi vhodný na umiestnenie na plochu ako malý fotorámček.

Krok 4: Nastavenie fotografického servera Možnosť 1: Obrázok Dockeru

Nastavte fotografický server Možnosť 1: Obrázok Dockera
Nastavte fotografický server Možnosť 1: Obrázok Dockera
Nastavte fotografický server Možnosť 1: Obrázok Dockera
Nastavte fotografický server Možnosť 1: Obrázok Dockera

Pre pohodlie som vopred zostavil obrázok Dockera pre aplikačný server OSD Node.js s fotografiou zameranou na tvár.

V prípade, že ešte nemáte nastavený Docker, postupujte podľa sprievodcu Docker Začíname:

www.docker.com/get-started

Potom spustite nasledujúci príkaz: (nahradiť/cesta/na/fotografiu na vlastnú cestu k fotografii)

docker run -p 8080: 8080 -v/cesta/do/foto:/app/fotka moononournation/face-aware-photo-osd: 1.0.1

Vyskúšajte to tak, že prejdete na stránku https:// localhost: 8080/

Môžete prísť na to, že zobrazovaný čas nie je vo vašom časovom pásme:

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

Ak žijete v Hongkongu ako ja, môžete pridať informácie o počasí v Hongkongu:

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

Ak by ste chceli vyvinúť svoje vlastné informácie o OSD:

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/path/to/photo:/app/photo -v ~/git/face-aware-photo-osd/app.js: /app/app.js moononournation/face-aware-photo-osd: 1.0. 1

Upravte funkciu update_osd () v súbore app.js tak, aby ste na mieru pripravili svoje vlastné informácie o OSD. Po vývoji jednoducho odstráňte prostredie DEBUG = Y z príkazu docker.

Krok 5: Nastavenie fotografického servera Možnosť 2: Zostavenie zo zdroja

Ak poznáte Node.js, môžete vytvoriť aplikačný server zo zdroja.

Získať zdroj:

klon git

Inštalovať balíky:

cd face-aware-photo-osd

npm nainštalovať

Vytvorte priečinok s fotografiami a skopírujte do neho svoje vlastné fotografie.

Spustiť aplikačný server:

uzol app.js

Krok 6: Klientská možnosť 1: Webový prehliadač

Možnosť klienta 1: Webový prehliadač
Možnosť klienta 1: Webový prehliadač

Jednoducho prehliadač na https:// localhost: 8080/

Stránka je skriptovaná a každú minútu sa automaticky načítava obrázok zodpovedajúcej veľkosti.

P. S. Ak prechádzate z iného počítača, na ktorom nie je spustený server aplikácií, nezabudnite zmeniť localhost na názov hostiteľa alebo adresu IP servera aplikácie.

Krok 7: Klientská možnosť 2: ESP32 + LCD

Možnosť klienta 2: ESP32 + LCD
Možnosť klienta 2: ESP32 + LCD
Možnosť klienta 2: ESP32 + LCD
Možnosť klienta 2: ESP32 + LCD
Možnosť klienta 2: ESP32 + LCD
Možnosť klienta 2: ESP32 + LCD
Možnosť klienta 2: ESP32 + LCD
Možnosť klienta 2: ESP32 + LCD

Klient fotorámika môže byť taký jednoduchý ako doska pre vývojárov ESP32 a LCD.

Tu je požadovaný hardvér:

Vývojová doska ESP32

Akákoľvek doska ESP32 pre vývojárov by mala byť v poriadku, tentokrát používam dosku s názvom MH-ET LIVE.

Displej LCD

Akýkoľvek LCD displej podporovaný Arduino_GFX, aktuálne podporovaný displej nájdete v readme GitHub:

github.com/moononournation/Arduino_GFX

Prepojovací drôt

Niektoré prepojovacie vodiče závisia od rozloženia dosky vývojára a konektorov LCD. Vo väčšine prípadov stačí 6-9 prepojovacích vodičov medzi ženami a ženami.

LCD stojan

Určitá podpora pomáha displeju LCD stáť rovno, tentoraz používam stojan na držiak karty.

Krok 8: Zostava ESP32 + LCD

Zostava LCD ESP32 +
Zostava LCD ESP32 +
Zostava LCD ESP32 +
Zostava LCD ESP32 +
Zostava LCD ESP32 +
Zostava LCD ESP32 +

Uprednostňuje sa ESP32 s kolíkovým konektorom na hornej strane. Ak je kolíková hlavička na spodnej strane, jednoducho položte dosku hore nohami;>

Pripojte ESP32 a LCD prepojovacími káblami a pripevnite ich k stojanu.

Tu je ukážka zhrnutia pripojenia:

ESP32 -> LCD

Vcc -> Vcc GND -> GND GPIO 5 -> CS GPIO 27 -> DC (ak je k dispozícii) GPIO 33 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (voliteľné) GPIO 22 -> LED (ak je k dispozícii) GPIO 23 -> MOSI / SDA

Krok 9: Software ESP32 + LCD

Software ESP32 + LCD
Software ESP32 + LCD

Arduino IDE

Ak to ešte neurobíte, stiahnite si a nainštalujte Arduino IDE:

www.arduino.cc/en/main/software

Podpora ESP32

Ak ešte nemáte nainštalovanú podporu ESP32, postupujte podľa pokynov na inštaláciu:

github.com/espressif/arduino-esp32

Knižnica Arduino_GFX

Stiahnite si najnovšie knižnice Arduino_GFX: (stlačte „Klonovať alebo stiahnuť“-> „Stiahnuť ZIP“)

github.com/moononournation/Arduino_GFX

Importujte knižnice v Arduino IDE. (Ponuka „Skica“Arduino IDE -> „Zahrnúť knižnicu“-> „Pridať. ZIP knižnicu“-> vyberte stiahnutý súbor ZIP)

Skompilovať a nahrať

  1. Otvorte Arduino IDE
  2. Otvorte vzorový kód ESP32PhotoFrame („Súbor“-> „Príklad“-> „Knižnica GFX pre Arduino“-> „WiFiPhotoFrame“)
  3. Vyplňte nastavenia svojho prístupového bodu WiFi do SSID_NAME a SSID_PASSWORD
  4. Vymeňte názov hostiteľa alebo IP servera za port HTTP_HOST a
  5. Stlačte tlačidlo „Nahrať“Arduino IDE
  6. Ak zistíte, že orientácia nie je správna, zmeňte hodnotu „otočenia“(0-3) v novom kóde triedy

Krok 10: Užite si fotografiu

Užite si fotografiu!
Užite si fotografiu!

Je načase umiestniť fotorámček IoT na plochu a užívať si!

Krok 11: Čo bude ďalej?

  • Pridajte svoje vlastné okamžité informácie
  • Jemne dolaďte veľkosť zdrojovej fotografie, aby bola presnejšia detekcia tváre
  • Automatická úloha na vloženie najnovších fotografií do priečinka s fotografiami na serveri
  • Urobte viac fotografií;>

Odporúča: