Cuprins:
- Pasul 1: De ce rama foto OSD?
- Pasul 2: De ce Face Aware?
- Pasul 3: Proiectare pe 2 niveluri
- Pasul 4: Configurare Photo Server Opțiunea 1: Imagine Docker
- Pasul 5: Configurare Photo Server Opțiunea 2: Construiți din sursă
- Pasul 6: Opțiunea 1 a clientului: browser web
- Pasul 7: Opțiunea 2 a clientului: ESP32 + LCD
- Pasul 8: ansamblul LCD ESP32 +
- Pasul 9: software ESP32 + LCD
- Pasul 10: Bucurați-vă de fotografie
- Pasul 11: Ce urmează?
Video: Rama foto OSD Face Aware: 11 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Acest Instructables arată cum să creați o ramă foto cu afișare pe ecran (OSD).
OSD poate afișa ora, vremea sau alte informații pe internet pe care le doriți.
Pasul 1: De ce rama foto OSD?
Am 2 proiecte de ceasuri foto la Instructables înainte:
www.instructables.com/id/ESP32-Photo-Clock…
www.instructables.com/id/Arduino-BiJin-ToK…
Ambele recuperează o fotografie cu frumuseți și o placă de timp de pe Internet la fiecare minut și se afișează pe ecranul LCD.
Afișarea frumuseților este bună, dar toate sunt străine pentru mine. Ce zici de folosirea fotografiilor personale favorite și de a adăuga ora curentă și alte informații instantanee pe ea?
Acest proiect explorează cum să-l realizăm.
Pasul 2: De ce Face Aware?
Să verificăm cum să adăugăm mai întâi informații OSD instantanee la o fotografie:
- Selectați aleatoriu o fotografie dintr-un anumit folder
- Recuperați timpul
- Preluați informații instantanee de pe Internet
- desenați timp și informații instantanee pe fotografie
Pasul 1-3 este direct înainte; Pasul 4 arată, de asemenea, simplu, dar stabiliți unde să desenați textul nu este atât de ușor.
Dacă dimensiunea textului este prea mică, este greu de citit la o distanță rezonabilă; Dacă dimensiunea textului este prea mare, cel mai probabil acoperă obiectele foto. Mai ales dacă este fotografie portret, textul acoperit pe fețe nu este preferat.
Deoarece poziția fețelor pentru fiecare fotografie nu este aceeași, pentru a evita fețele acoperite de OSD, trebuie mai întâi un proces de detectare a feței. Apoi putem găsi o zonă fără față pentru a desena textul.
Pasul 3: Proiectare pe 2 niveluri
Procesul de detectare a feței necesită o anumită putere de procesare, în schimb, rama foto poate fi foarte ușoară. Așa că am împărțit-o în două niveluri:
Server
Motorul de fotografiere conștient de față este un server de aplicații Node.js. Pentru fiecare solicitare HTTP, va:
- Selectați în mod aleatoriu o fotografie din folderul foto
- Detectare facială
- nu determinați fața sau zona cea mai mică a fețelor
- În același timp, recuperați vremea sau alte informații utile instantanee de pe Internet la fiecare anumită perioadă
- Desenați timp și informații instantanee pe fotografie
- Întoarceți fotografia cu OSD în format JPEG ca răspuns
Client
Clientul poate fi un browser web, un applet sau un dispozitiv IoT.
De exemplu. un ESP ESP devas cu un ecran LCD de 2-4 inci este foarte potrivit pentru a fi plasat pe desktop ca o mică ramă foto.
Pasul 4: Configurare Photo Server Opțiunea 1: Imagine Docker
Pentru comoditate, am preconstruit o imagine Docker pentru serverul de aplicații OSD Node.js foto sensibil la față.
În cazul în care nu ați configurat încă Docker, vă rugăm să urmați ghidul Docker Start Start:
www.docker.com/get-started
Apoi executați următoarea comandă: (înlocuiți / cale / către / fotografie pe propria cale foto)
docker run -p 8080: 8080 -v / path / to / photo: / app / photo moononournation / face-aware-photo-osd: 1.0.1
Testați-l navigați la https:// localhost: 8080 /
Este posibil să constatați că ora de afișare nu se află în fusul dvs. orar:
docker run -p 8080: 8080 -e TZ = Asia / Hong_Kong -v / path / to / photo: / app / photo moononournation / face-aware-photo-osd: 1.0.1
Dacă locuiți în Hong Kong ca mine, puteți adăuga informații meteo din Hong Kong:
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
Dacă doriți să vă dezvoltați propriile informații 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
Modificați funcția update_osd () în app.js pentru a vă personaliza propriile informații OSD. După dezvoltare, pur și simplu eliminați mediul DEBUG = Y din comanda docker.
Pasul 5: Configurare Photo Server Opțiunea 2: Construiți din sursă
Dacă sunteți familiarizat cu Node.js, puteți construi serverul de aplicații din sursă.
Obțineți sursa:
git clone
Instalați pachete:
cd face-aware-photo-osd
instalare npm
Creați un dosar foto și copiați propriile fotografii în dosar.
Rulați serverul de aplicații:
nod app.js
Pasul 6: Opțiunea 1 a clientului: browser web
Pur și simplu navigați la https:// localhost: 8080 /
Pagina este încărcată automat cu scripturi o imagine potrivită la dimensiunea paginii în fiecare minut.
P. S. Dacă navigați de pe o altă mașină care nu rulează serverul de aplicații, nu uitați să schimbați localhost pe numele de gazdă al serverului de aplicații sau adresa IP.
Pasul 7: Opțiunea 2 a clientului: ESP32 + LCD
Un client cu rama foto poate fi la fel de simplu ca o placă de dezvoltare ESP32 și un LCD.
Iată hardware-ul necesar:
ESP32 Dev Board
Orice bord ESP32 dev ar trebui să fie ok, de data aceasta folosesc o placă numită MH-ET LIVE.
Ecran LCD
Orice ecran LCD acceptat de Arduino_GFX, este posibil să găsiți afișaj acceptat în prezent la GitHub readme:
github.com/moononournation/Arduino_GFX
Jumper Wire
Unele fire Jumper, depind de aspectul plăcii de dezvoltare și a pinilor LCD. În majoritatea cazurilor, sunt suficiente 6-9 fire jumper de la femeie la femeie.
Stand LCD
Unele asistențe ajută LCD-ul să stea drept, de data aceasta folosesc un suport pentru card.
Pasul 8: ansamblul LCD ESP32 +
Este preferat ESP32 cu antet pin în partea superioară. Dacă antetul pinului din partea inferioară, pur și simplu puneți placa cu capul în jos;>
Conectați ESP32 și LCD cu fire jumper, apoi montați-le pe suport.
Iată exemplul de rezumat al conexiunii:
ESP32 -> LCD
Vcc -> Vcc GND -> GND GPIO 5 -> CS GPIO 27 -> DC (dacă este disponibil) GPIO 33 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (opțional) GPIO 22 -> LED (dacă este disponibil) GPIO 23 -> MOSI / SDA
Pasul 9: software ESP32 + LCD
IDE Arduino
Descărcați și instalați Arduino IDE dacă încă nu faceți acest lucru:
www.arduino.cc/en/main/software
Suport ESP32
Urmați instrucțiunile de instalare pentru a adăuga asistență ESP32 dacă nu o faceți încă:
github.com/espressif/arduino-esp32
Biblioteca Arduino_GFX
Descărcați cele mai recente biblioteci Arduino_GFX: (apăsați „Clonați sau descărcați” -> „Descărcați ZIP”)
github.com/moononournation/Arduino_GFX
Importați biblioteci în Arduino IDE. (Arduino IDE "Sketch" Menu -> "Include Library" -> "Add. ZIP Library" -> selectați fișierul ZIP descărcat)
Compilați și încărcați
- Deschideți Arduino IDE
- Deschideți codul eșantion ESP32PhotoFrame ("Fișier" -> "Exemplu" -> "Biblioteca GFX pentru Arduino" -> "WiFiPhotoFrame")
- Completați setările AP WiFi în SSID_NAME și SSID_PASSWORD
- Înlocuiți numele gazdei serverului sau adresa IP și portul în HTTP_HOST și
- Apăsați butonul „Încărcare” Arduino IDE
- Dacă orientarea nu este corectă, modificați valoarea „rotației” (0-3) în noul cod de clasă
Pasul 10: Bucurați-vă de fotografie
Este timpul să puneți rama foto IoT pe desktop și să vă bucurați!
Pasul 11: Ce urmează?
- Adăugați propriile informații instantanee
- Reglați fin dimensiunea sursei fotografiei pentru o precizie mai bună de detectare a feței
- Sarcină automată pentru a pune cele mai recente fotografii în folderul foto al serverului
- Faceți mai multe fotografii;>
Recomandat:
Rama foto Raspberry Pi în mai puțin de 20 de minute: 10 pași (cu imagini)
Rama foto Raspberry Pi în mai puțin de 20 de minute: Da, aceasta este o altă ramă foto digitală! Dar așteaptă, este mai elegant și probabil cel mai rapid de asamblat și de a alerga
YADPF (încă o ramă foto digitală): 7 pași (cu imagini)
YADPF (YET Another Digital Picture Frame): Știu că nu sunt lucruri noi, știu, am văzut câteva dintre aceste proiecte aici, dar am vrut întotdeauna să-mi construiesc propria ramă digitală. Toate cadrele pe care le-am văzut sunt frumoase, dar căutam altceva, caut un frate foarte frumos
Rama foto digitală Numero Dos !: 4 pași (cu imagini)
Rama foto digitală Numero Dos !: Aceasta este a doua ramă foto digitală pe care am realizat-o (consultați Rama foto digitală ieftină și ușoară). Am făcut acest lucru ca un cadou de nuntă pentru un prieten foarte bun de-al meu și cred că a ieșit foarte bine. S-a acordat costul cadrelor digitale
Rama foto LED Neo Pixel: 6 pași (cu imagini)
Rama foto LED Neo Pixel: Bună ziua din nou! Am realizat acest proiect special pentru „culorile curcubeului” competiție. Dacă vă place, vă rog să mă votați la concurs, așa că am decis să fac un proiect foarte rapid și ușor pentru competiție. Este un neo-pixel L
Rama foto inteligentă: 4 pași (cu imagini)
Smart Picture Frame: Geneza acestui proiect a fost de a rezolva trei probleme: verificați rapid vremea locală asigurați-vă că întreaga familie a fost la curent cu orice activități programate afișează o colecție destul de mare de fotografii de vacanță După cum sa dovedit, am avut o