Sadržaj:

Face Aware OSD okvir za fotografije: 11 koraka (sa slikama)
Face Aware OSD okvir za fotografije: 11 koraka (sa slikama)

Video: Face Aware OSD okvir za fotografije: 11 koraka (sa slikama)

Video: Face Aware OSD okvir za fotografije: 11 koraka (sa slikama)
Video: ВОЗНИКАЮЩИЕ УГРОЗЫ - Слушания в Сенате США по AARO / НЛО / UAP 2024, Srpanj
Anonim
OSD okvir za fotografije OS A Face Aware
OSD okvir za fotografije OS A Face Aware
OSD okvir za fotografije OS A Face Aware
OSD okvir za fotografije OS A Face Aware
OSD okvir za fotografije OS A Face Aware
OSD okvir za fotografije OS A Face Aware
OSD okvir za fotografije OS A Face Aware
OSD okvir za fotografije OS A Face Aware

Ove upute pokazuju kako napraviti okvir za fotografije s zaslonskim prikazom na ekranu (OSD).

OSD može prikazati vrijeme, vrijeme ili druge internetske podatke koje želite.

Korak 1: Zašto OSD okvir za fotografije?

Zašto OSD okvir za fotografije?
Zašto OSD okvir za fotografije?
Zašto OSD okvir za fotografije?
Zašto OSD okvir za fotografije?

Već sam imao 2 projekta sa satom za fotografije u Instructables:

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

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

Oboje svake minute preuzimaju fotografiju s ljepotama i vremensku ploču s interneta i prikazuju ih na LCD -u.

Izlagati ljepote je dobro, ali sve su mi strane. Kako bi bilo koristiti osobne omiljene fotografije i dodati trenutno vrijeme i daljnje trenutne informacije o njemu?

Ovaj projekt istražuje kako to napraviti.

Korak 2: Zašto Face Aware?

Zašto Face Aware?
Zašto Face Aware?
Zašto Face Aware?
Zašto Face Aware?
Zašto Face Aware?
Zašto Face Aware?
Zašto Face Aware?
Zašto Face Aware?

Prvo provjerimo kako fotografiji dodati OSD za trenutne informacije:

  1. Nasumičnim odabirom fotografije iz određene mape
  2. Dohvatite vrijeme
  3. Dohvatite trenutne informacije s Interneta
  4. izvucite vrijeme i trenutne informacije na fotografiji

Korak 1-3 je ravno naprijed; Korak 4 također izgleda jednostavno, ali odrediti gdje nacrtati tekst nije tako lako.

Ako je tekst premalen, teško ga je čitati na razumnoj udaljenosti; Ako je veličina teksta prevelika, najvjerojatnije će pokriti foto objekte. Posebno ako se radi o portretnoj fotografiji, tekst s prekrivenim licima nije poželjan.

Budući da položaj lica za svaku fotografiju nije isti, da bismo izbjegli lica prekrivena OSD -om, prvo nam je potreban postupak otkrivanja lica. Tada možemo pronaći područje bez lica za crtanje teksta.

Korak 3: Dvoslojni dizajn

Dvoslojni dizajn
Dvoslojni dizajn

Postupak otkrivanja lica zahtijeva određenu procesorsku snagu, za razliku od toga, okvir za fotografije može biti vrlo male težine. Pa sam ga podijelio u 2 sloja:

Poslužitelj

Motor za fotografije osviješten licem poslužitelj je aplikacija Node.js. Za svaki HTTP zahtjev bit će:

  1. Nasumično odaberite fotografiju iz mape sa fotografijama
  2. Prepoznavanje lica
  3. ne utvrdite područje lica ili najmanje lica
  4. U međuvremenu, preuzimajte vremenske ili druge korisne trenutne informacije s Interneta u svakom određenom razdoblju
  5. Nacrtajte vrijeme i trenutne informacije na fotografiji
  6. Vratite fotografiju s OSD -om u JPEG formatu kao HTTP odgovor

Klijent

Klijent može biti web preglednik, applet ili IoT uređaj.

Npr. ESP32 dev boasrd s 2-4 inčnim LCD-om vrlo je prikladan za postavljanje na radnu površinu kao mali okvir za fotografije.

Korak 4: Postavljanje foto poslužitelja Opcija 1: Docker slika

Postavljanje foto poslužitelja Opcija 1: Docker slika
Postavljanje foto poslužitelja Opcija 1: Docker slika
Postavljanje foto poslužitelja Opcija 1: Docker slika
Postavljanje foto poslužitelja Opcija 1: Docker slika

Radi praktičnosti, unaprijed sam napravio Docker sliku za OSD poslužitelj aplikacija OSD Node.js sa fotografijom svjesnom lica.

U slučaju da još niste postavili Docker, slijedite vodič Docker za početak:

www.docker.com/get-started

Zatim pokrenite sljedeću naredbu: (zamijenite/put/do/fotografiju na vlastiti put do fotografije)

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

Testirajte ga pretraživanjem https:// localhost: 8080/

Možda ćete otkriti da vrijeme prikaza nije u vašoj vremenskoj zoni:

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

Ako živite u Hong Kongu poput mene, možete dodati vremenske podatke za Hong Kong:

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

Ako želite razviti vlastite OSD podatke:

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/put/do/fotografije:/app/photo -v ~/git/face-svjesni-foto-osd/app.js: /app/app.js moononournation/lice-svjesni-foto-osd: 1.0. 1

Izmijenite funkciju update_osd () u app.js tako da prilagođene OSD podatke izradite po mjeri. Nakon razvoja, jednostavno uklonite DEBUG = Y okruženje iz naredbe docker.

Korak 5: Postavljanje foto poslužitelja Opcija 2: Izrada iz izvora

Ako ste upoznati s Node.js, poslužitelj aplikacija možete izgraditi iz izvora.

Uzmi izvor:

git klon

Instalirajte pakete:

cd lice svjesno-foto-osd

npm instalirati

Izradite mapu s fotografijama i kopirajte vlastite fotografije u mapu.

Pokrenite poslužitelj aplikacija:

čvor app.js

Korak 6: Klijent Opcija 1: Web preglednik

Klijent Opcija 1: Web preglednik
Klijent Opcija 1: Web preglednik

Jednostavno pretražite na https:// localhost: 8080/

Stranica je skriptirana automatskim učitavanjem slike odgovarajuće veličine svake minute.

p.s. Ako pregledavate s drugog stroja na kojem nije pokrenut poslužitelj aplikacija, sjetite se da ste promijenili localhost u naziv poslužitelja aplikacija ili IP adresu.

Korak 7: Opcija 2 klijenta: ESP32 + LCD

Opcija 2 klijenta: ESP32 + LCD
Opcija 2 klijenta: ESP32 + LCD
Opcija klijenta 2: ESP32 + LCD
Opcija klijenta 2: ESP32 + LCD
Opcija klijenta 2: ESP32 + LCD
Opcija klijenta 2: ESP32 + LCD
Opcija klijenta 2: ESP32 + LCD
Opcija klijenta 2: ESP32 + LCD

Klijent okvira za fotografije može biti jednostavan poput ESP32 ploče za razvoj i LCD -a.

Ovdje je potreban hardver:

ESP32 ploča za razvoj

Bilo koja ESP32 dev ploča trebala bi biti u redu, ovaj put koristim ploču koja se zove MH-ET LIVE.

LCD zaslon

Bilo koji LCD koji podržava Arduino_GFX, trenutno podržani zaslon možete pronaći na GitHub readme:

github.com/moononournation/Arduino_GFX

Kratkospojna žica

Neke kratkospojne žice ovise o rasporedu razvojnih ploča i LCD pinova. U većini slučajeva dovoljno je 6-9 žica kratkospojnika za žene.

LCD stalak

Neka podrška pomaže LCD -u da stoji ravno, ovaj put koristim stalak za držač kartice.

Korak 8: Sklop ESP32 + LCD

ESP32 + LCD sklop
ESP32 + LCD sklop
ESP32 + LCD sklop
ESP32 + LCD sklop
ESP32 + LCD sklop
ESP32 + LCD sklop

Poželjni je ESP32 s pin zaglavljem na gornjoj strani. Ako je zaglavlje iglice na donjoj strani, jednostavno ploču postavite naopako;>

Spojite ESP32 i LCD pomoću kratkospojnih žica, a zatim ih postavite na postolje.

Evo primjera sažetka veze:

ESP32 -> LCD

Vcc -> Vcc GND -> GND GPIO 5 -> CS GPIO 27 -> DC (ako je dostupan) GPIO 33 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (opcija) GPIO 22 -> LED (ako je dostupan) GPIO 23 -> MOSI / SDA

Korak 9: ESP32 + LCD softver

ESP32 + LCD softver
ESP32 + LCD softver

Arduino IDE

Preuzmite i instalirajte Arduino IDE ako to još niste učinili:

www.arduino.cc/en/main/software

Podrška za ESP32

Slijedite upute za instalaciju da biste dodali podršku za ESP32 ako to još niste učinili:

github.com/espressif/arduino-esp32

Knjižnica Arduino_GFX

Preuzmite najnovije Arduino_GFX knjižnice: (pritisnite "Kloniraj ili preuzmi" -> "Preuzmi ZIP")

github.com/moononournation/Arduino_GFX

Uvezite knjižnice u Arduino IDE. (Arduino IDE "Sketch" izbornik -> "Uključi knjižnicu" -> "Dodaj. ZIP knjižnicu" -> odaberite preuzetu ZIP datoteku)

Kompilacija i prijenos

  1. Otvorite Arduino IDE
  2. Otvorite uzorak koda ESP32PhotoFrame ("Datoteka" -> "Primjer" -> "GFX knjižnica za Arduino" -> "WiFiPhotoFrame")
  3. Unesite svoje WiFi pristupne točke u SSID_NAME i SSID_PASSWORD
  4. Zamijenite naziv hosta poslužitelja ili IP i port u HTTP_HOST i
  5. Pritisnite Arduino IDE gumb "Upload"
  6. Ako smatrate da orijentacija nije točna, promijenite vrijednost "rotacije" (0-3) u novom kodu klase

Korak 10: Uživajte u fotografiji

Uživajte u fotografiji!
Uživajte u fotografiji!

Vrijeme je da postavite IoT okvir za fotografije na radnu površinu i uživajte!

Korak 11: Što je sljedeće?

  • Dodajte vlastite trenutne podatke
  • Fino podesite veličinu izvorne fotografije za bolju točnost prepoznavanja lica
  • Automatski zadatak za postavljanje najnovijih fotografija u mapu sa fotografijama poslužitelja
  • Snimite više fotografija;>

Preporučeni: