Kazalo:
- 1. korak: Zakaj OSD Photo Frame?
- 2. korak: Zakaj Face Aware?
- 3. korak: 2-stopenjsko oblikovanje
- 4. korak: Nastavitev strežnika fotografij 1. možnost: slika Dockerja
- 5. korak: Nastavitev strežnika fotografij 2. možnost: Izdelava iz vira
- 6. korak: 1. možnost odjemalca: spletni brskalnik
- 7. korak: 2. možnost odjemalca: ESP32 + LCD
- 8. korak: Sklop ESP32 + LCD
- 9. korak: programska oprema ESP32 + LCD
- 10. korak: uživajte v fotografiji
- 11. korak: Kaj sledi?
Video: Face Aware OSD Photo Frame: 11 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
Ta navodila kažejo, kako narediti okvir za fotografije z zaslonskim zaslonom (OSD) z zavedanjem obraza.
OSD lahko prikaže čas, vreme ali druge internetne informacije, ki jih želite.
1. korak: Zakaj OSD Photo Frame?
V Instructables sem že imel 2 projekta foto ure:
www.instructables.com/id/ESP32-Photo-Clock…
www.instructables.com/id/Arduino-BiJin-ToK…
Oba vsako minuto poiščeta fotografijo z lepotami in časovno ploščo iz interneta in ju prikažeta na LCD -prikazovalniku.
Prikazovanje lepot je dobro, vendar so mi vse tuje. Kaj pa uporaba osebnih najljubših fotografij in dodajanje trenutnega časa ter nadaljnjih takojšnjih informacij o njem?
Ta projekt raziskuje, kako to narediti.
2. korak: Zakaj Face Aware?
Preverimo, kako fotografiji najprej dodamo OSD za takojšnje informacije:
- Naključno izberite fotografijo iz določene mape
- Pridobite čas
- Pridobite takojšnje informacije iz interneta
- na fotografiji narišite čas in takojšnje informacije
Korak 1-3 je naravnost naprej; 4. korak je videti tudi preprost, vendar določiti, kje narisati besedilo, ni tako enostavno.
Če je besedilo premajhno, ga je težko prebrati na razumni razdalji; Če je besedilo preveliko, najverjetneje pokriva foto objekte. Še posebej, če gre za portretno fotografijo, besedilo, ki pokriva obraze, ni zaželeno.
Ker položaj obrazov pri vsaki fotografiji ni enak, moramo za preprečitev obrazov, zajetih v OSD, najprej postopek zaznavanja obrazov. Potem lahko najdemo območje brez obrazov za risanje besedila.
3. korak: 2-stopenjsko oblikovanje
Postopek zaznavanja obrazov zahteva nekaj procesorske moči, v nasprotju s tem pa je lahko okvir za fotografije zelo lahek. Zato sem ga razdelil na 2 stopnje:
Strežnik
Fotografski mehanizem za prepoznavanje obrazov je strežnik aplikacij Node.js. Za vsako zahtevo HTTP bo:
- Naključno izberite fotografijo iz mape s fotografijami
- Zaznavanje obrazov
- ne določite območja obraza ali najmanj obraza
- Hkrati pa vsako določeno obdobje poiščite vremenske ali druge koristne trenutne informacije iz interneta
- Na fotografijo narišite čas in takojšnje informacije
- Fotografijo z OSD v formatu JPEG vrnite kot odgovor
Odjemalec
Odjemalec je lahko spletni brskalnik, programček ali naprava IoT.
Npr. ESP32 dev boasrd z 2-4-palčnim LCD-zaslonom je zelo primeren za postavitev na namizje kot majhen fotookvir.
4. korak: Nastavitev strežnika fotografij 1. možnost: slika Dockerja
Za udobje sem vnaprej izdelal sliko Dockerja za OSD strežnik aplikacij OSD Node.js s fotografijo, ki se zaveda obraza.
Če še niste nastavili Dockerja, sledite priročniku Docker Get Started:
www.docker.com/get-started
Nato zaženite naslednji ukaz: (zamenjajte/pot/do/fotografijo na svojo pot do fotografije)
docker run -p 8080: 8080 -v/path/to/photo:/app/photo moononournation/face-aware-photo-osd: 1.0.1
Preizkusite tako, da poiščete https:// localhost: 8080/
Morda boste ugotovili, da čas prikaza ni v vašem časovnem pasu:
docker run -p 8080: 8080 -e TZ = Asia/Hong_Kong -v/path/to/photo:/app/photo moononournation/face -aware -photo -osd: 1.0.1
Če živite v Hongkongu kot jaz, lahko dodate vremenske podatke o 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
Če želite razviti lastne podatke 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/pot/do/fotografije:/app/photo -v ~/git/face-aware-photo-osd/app.js: /app/app.js moononournation/face-aware-photo-osd: 1.0. 1
Spremenite funkcijo update_osd () v app.js, da prilagodite svoje OSD podatke. Po razvoju preprosto odstranite okolje DEBUG = Y iz ukaza docker.
5. korak: Nastavitev strežnika fotografij 2. možnost: Izdelava iz vira
Če poznate Node.js, lahko strežnik aplikacij sestavite iz vira.
Pridobite vir:
git clone
Namestite pakete:
cd-zavedanje-foto-osd
npm install
Ustvarite mapo s fotografijami in kopirajte svoje fotografije v mapo.
Zaženi strežnik aplikacij:
vozlišče app.js
6. korak: 1. možnost odjemalca: spletni brskalnik
Preprosto poiščite brskalnik na https:// localhost: 8080/
Stran je po scenariju samodejno naloži sliko ustrezne velikosti strani vsako minuto.
P. S. Če brskate iz drugega računalnika, ki ne izvaja strežnika aplikacij, ne pozabite spremeniti localhost v ime gostitelja strežnika aplikacij ali naslov IP.
7. korak: 2. možnost odjemalca: ESP32 + LCD
Odjemalec okvirja za fotografije je lahko tako preprost kot plošča za razvijalce ESP32 in LCD.
Tu je potrebna strojna oprema:
Razvojna plošča ESP32
Vsaka plošča za razvijalce ESP32 bi morala biti v redu, tokrat uporabljam ploščo z imenom MH-ET LIVE.
LCD zaslon
Kateri koli LCD, ki podpira Arduino_GFX, boste morda našli trenutno podprt zaslon na GitHub readme:
github.com/moononournation/Arduino_GFX
Mostična žica
Nekatere odklopne žice so odvisne od postavitve plošče za razvijalce in LCD zatičev. V večini primerov zadostuje 6-9 žic moških in ženskih.
LCD stojalo
Nekatera podpora pomaga LCD -ju, da stoji naravnost, tokrat uporabljam stojalo za držalo za kartice.
8. korak: Sklop ESP32 + LCD
Zaželen je ESP32 z glavo zatiča na zgornji strani. Če glavo zatiča na spodnji strani preprosto postavite ploščo na glavo;>
ESP32 in LCD povežite z mostičnimi žicami in jih pritrdite na stojalo.
Tu je vzorec povzetka povezave:
ESP32 -> LCD
Vcc -> Vcc GND -> GND GPIO 5 -> CS GPIO 27 -> DC (če je na voljo) GPIO 33 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (neobvezno) GPIO 22 -> LED (če je na voljo) GPIO 23 -> MOSI / SDA
9. korak: programska oprema ESP32 + LCD
Arduino IDE
Prenesite in namestite Arduino IDE, če tega še niste storili:
www.arduino.cc/en/main/software
Podpora za ESP32
Če tega še niste storili, sledite navodilom za namestitev, če tega še niste storili:
github.com/espressif/arduino-esp32
Knjižnica Arduino_GFX
Prenesite najnovejše knjižnice Arduino_GFX: (pritisnite "Clone or Download" -> "Download ZIP")
github.com/moononournation/Arduino_GFX
Uvozite knjižnice v Arduino IDE. (Arduino IDE "Sketch" Menu -> "Include Library" -> "Add. ZIP Library" -> izberite preneseno datoteko ZIP)
Sestavite in naložite
- Odprite Arduino IDE
- Odprite vzorčno kodo ESP32PhotoFrame ("Datoteka" -> "Primer" -> "Knjižnica GFX za Arduino" -> "WiFiPhotoFrame")
- Vnesite nastavitve dostopne točke WiFi v SSID_NAME in SSID_PASSWORD
- Zamenjajte ime gostitelja ali IP strežnika in vrata v HTTP_HOST in
- Pritisnite gumb "Naloži" Arduino IDE
- Če ugotovite, da orientacija ni pravilna, spremenite vrednost "rotacije" (0-3) v novi kodi razreda
10. korak: uživajte v fotografiji
Čas je, da okvir za fotografije IoT postavite na namizje in uživajte!
11. korak: Kaj sledi?
- Dodajte svoje trenutne podatke
- Za boljšo natančnost zaznavanja obrazov natančno prilagodite velikost izvorne fotografije
- Samodejno opravilo za vstavljanje najnovejših fotografij v mapo s fotografijami strežnika
- Naredite več fotografij;>
Priporočena:
Kako zgraditi PHOTO LIGHT BOX: 7 korakov (s slikami)
Kako sestaviti PHOTO LIGHT BOX: Lightboxovi so odličen način za zajemanje vrhunskih fotografij. Lahko so narejeni iz skoraj vseh materialov. Lahko ga celo ustvarite s kartonom. Zame potrebujem nekaj trdnega in vzdržljivega. Čeprav bi bilo super razčleniti, nimam
Nadzor matrične matrike LED z Arduino Uno (Arduino Powered Robot Face): 4 koraki (s slikami)
Nadzor matrične matrike LED z Arduino Uno (Arduino Powered Robot Face): Ta navodila kažejo, kako z Arduino Uno nadzirati niz 8x8 LED matric. Ta priročnik bi lahko uporabili za ustvarjanje preprostega (in relativno poceni zaslona) za svoje projekte. Na ta način lahko prikažete črke, številke ali animacije po meri
Instagram-Inspired DIY Photo-Booth: 18 korakov (s slikami)
Instagram-Inspired DIY Photo-Booth: Odločil sem se, da bom zgradil preprosto foto-kabino kot zabaven dodatek za dogodke, ki gre skozi osnovne korake, kako sem od nekaj kosov lesa prešel v popolnoma funkcionalno stojnico. Priložil sem tudi fotografijo, kako izgledajo slike! Prosim ne
Flickr Style CD Photo Multi-frame: 5 korakov
Flickr Style CD Photo Multi-frame: želel sem poceni način prikazovanja veliko mojih fotografij, ne da bi jih le prilepil na steno. Imel sem cel kup praznih etuijev za CD -je, ki bi bili kot nalašč za prikaz fotografij. Z dodatkom vrvice in nekaj obeskov za ključe sem bil nor
Texas Big Face - 3D projekcija obraza Kako: 10 korakov (s slikami)
Texas Big Face - 3D projekcija obrazov Kako: Ustvarite " žive kipe " s projiciranjem obraza na skulpture.A Kako narediti: David Sutherland, Kirk Moreno v sodelovanju z Graffiti Research Lab Houston* Več komentarjev je povedalo, da obstaja nekaj težav z zvokom. Je