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, Novembar
Anonim
Face Aware OSD okvir za fotografije
Face Aware OSD okvir za fotografije
Face Aware OSD okvir za fotografije
Face Aware OSD okvir za fotografije
Face Aware OSD okvir za fotografije
Face Aware OSD okvir za fotografije
Face Aware OSD okvir za fotografije
Face Aware OSD okvir za fotografije

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

OSD može prikazati vrijeme, vrijeme ili druge internetske informacije 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.

Prikazivanje ljepota je dobro, ali sve su mi strane. Kako bi bilo da koristite lične omiljene fotografije i dodate trenutno vrijeme i dodatne 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?

Provjerimo kako prvo dodati OSD trenutnih informacija na fotografiju:

  1. Nasumičnim odabirom fotografije iz određene mape
  2. Dohvati vreme
  3. Preuzmite trenutne informacije s Interneta
  4. izvucite vrijeme i trenutne informacije o 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 sa prekrivenim licima nije poželjan.

Budući da položaj lica za svaku fotografiju nije isti, kako bismo izbjegli lica prekrivena OSD -om, prvo nam je potreban postupak otkrivanja lica. Tada možemo pronaći područje bez lica za iscrtavanje 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 nivoa:

Server

Fotografski mehanizam za prepoznavanje lica je poslužitelj aplikacija Node.js. Za svaki HTTP zahtjev bit će:

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

Klijent

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

Npr. ESP32 dev boasrd sa LCD ekranom od 2-4 inča vrlo je pogodan za postavljanje na radnu površinu kao mali okvir za fotografije.

Korak 4: Postavljanje foto servera Opcija 1: Docker slika

Postavljanje foto servera Opcija 1: Docker slika
Postavljanje foto servera Opcija 1: Docker slika
Postavljanje foto servera Opcija 1: Docker slika
Postavljanje foto servera Opcija 1: Docker slika

Radi praktičnosti, unaprijed sam napravio Docker sliku za OSD Node.js poslužitelj fotografija sa fotografijom svjesne 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/path/to/photo na vlastitu foto putanju)

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 informacije o OSD -u:

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 informacije izradite po mjeri. Nakon razvoja, jednostavno uklonite DEBUG = Y okruženje iz naredbe docker.

Korak 5: Postavljanje foto servera Opcija 2: Izrada iz izvora

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

Nabavite izvor:

git clone

Instalirajte pakete:

cd lice svjesno-foto-osd

npm install

Kreirajte fasciklu sa fotografijama i kopirajte svoje fotografije u fasciklu.

Pokrenite server 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 skriptno automatski učitava sliku 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 hosta poslužitelja aplikacija ili IP adresu.

Korak 7: 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
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.

Evo potrebnog hardvera:

ESP32 Dev Board

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

LCD displej

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

github.com/moononournation/Arduino_GFX

Jumper Wire

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

LCD postolje

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

Korak 8: ESP32 + LCD sklop

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

Poželjni je ESP32 sa pin zaglavljem na gornjoj strani. Ako je zaglavlje iglice na donjoj strani, jednostavno postavite ploču 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 dostupno) GPIO 33 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (opcionalno) GPIO 22 -> LED (ako je dostupno) 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

Arduino_GFX biblioteka

Preuzmite najnovije Arduino_GFX biblioteke: (pritisnite "Kloniraj ili preuzmi" -> "Preuzmi ZIP")

github.com/moononournation/Arduino_GFX

Uvezite biblioteke u Arduino IDE. (Arduino IDE "Sketch" meni -> "Uključi biblioteku" -> "Dodaj. ZIP biblioteku" -> odaberite preuzetu ZIP datoteku)

Sastavi i otpremi

  1. Otvorite Arduino IDE
  2. Otvorite uzorak koda ESP32PhotoFrame ("Datoteka" -> "Primjer" -> "GFX biblioteka za Arduino" -> "WiFiPhotoFrame")
  3. Popunite postavke WiFi AP -a u SSID_NAME i SSID_PASSWORD
  4. Zamijenite ime hosta vašeg servera ili IP i port u HTTP_HOST i
  5. Pritisnite Arduino IDE dugme "Upload"
  6. Ako smatrate da orijentacija nije ispravna, 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: Šta je sljedeće?

  • Dodajte svoje trenutne informacije
  • Fino podesite veličinu izvorne fotografije za bolju preciznost otkrivanja lica
  • Automatski zadatak za postavljanje najnovijih fotografija u fasciklu sa fotografijama servera
  • Snimite više fotografija;>

Preporučuje se: