Mundarija:

Face Aware OSD foto ramkasi: 11 qadam (rasmlar bilan)
Face Aware OSD foto ramkasi: 11 qadam (rasmlar bilan)

Video: Face Aware OSD foto ramkasi: 11 qadam (rasmlar bilan)

Video: Face Aware OSD foto ramkasi: 11 qadam (rasmlar bilan)
Video: Ruposh | OST | Geo Entertainment | Haroon Kadwani | Kinza Hashmi | Wajhi Farooki 2024, Noyabr
Anonim
Face Aware OSD foto ramkasi
Face Aware OSD foto ramkasi
Face Aware OSD foto ramkasi
Face Aware OSD foto ramkasi
Face Aware OSD foto ramkasi
Face Aware OSD foto ramkasi
Face Aware OSD foto ramkasi
Face Aware OSD foto ramkasi

Bu yo'riqnomada yuzni ekranli ekran (OSD) yordamida qanday qilib foto ramka yasash kerakligi ko'rsatilgan.

OSD siz xohlagan vaqt, ob -havo yoki boshqa internet ma'lumotlarini ko'rsatishi mumkin.

1 -qadam: Nima uchun OSD foto ramkasi?

Nima uchun OSD foto ramkasi?
Nima uchun OSD foto ramkasi?
Nima uchun OSD foto ramkasi?
Nima uchun OSD foto ramkasi?

Instructables -da menda 2 ta foto soat loyihasi bor:

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

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

Ikkalasi ham har daqiqada Internetdan go'zalliklari va vaqt jadvalini oladi va LCD displeyda aks etadi.

Go'zalliklarni ko'rsatish yaxshi, lekin ularning hammasi men uchun begona. Shaxsiy sevimli fotosuratlaringizni ishlatib, unga hozirgi vaqt va boshqa tezkor ma'lumotlarni qo'shing -chi?

Loyiha uni qanday qilishni o'rganmoqda.

2 -qadam: Nega Face Aware?

Nega Face Aware?
Nega Face Aware?
Nega Face Aware?
Nega Face Aware?
Nega Face Aware?
Nega Face Aware?
Nega Face Aware?
Nega Face Aware?

Keling, avval rasmga OSD tezkor ma'lumotlarini qanday qo'shishni tekshirib ko'ramiz:

  1. Tasodifiy ma'lum papkadan rasm tanlang
  2. Vaqtni qaytarish
  3. Internetdan tezkor ma'lumotlarni oling
  4. fotosuratga vaqt va tezkor ma'lumotlarni chizish

1-3-qadam to'g'ridan-to'g'ri; 4 -qadam ham oddiy ko'rinadi, lekin matnni qaerga chizish oson emasligini aniqlang.

Agar matn hajmi juda kichik bo'lsa, oqilona masofada o'qish qiyin; Agar matn hajmi juda katta bo'lsa, u rasm ob'ektlarini qamrab oladi. Ayniqsa, bu portretli fotosurat bo'lsa, yuzlar bilan qoplangan matn afzal ko'rilmaydi.

Har bir fotosurat uchun yuzlarning pozitsiyasi bir xil bo'lmaganligi sababli, OSD bilan qoplangan yuzlardan saqlanish uchun bizga avval yuzni aniqlash jarayoni kerak bo'ladi. Keyin biz matnni chizish uchun yuzsiz joyni topa olamiz.

3-qadam: 2 bosqichli dizayn

2 bosqichli dizayn
2 bosqichli dizayn

Yuzni aniqlash jarayoni biroz ishlov berish quvvatini talab qiladi, aksincha, foto ramka juda engil bo'lishi mumkin. Shunday qilib, men uni 2 bosqichga ajratdim:

Server

Yuz biladigan foto motor - bu Node.js dastur serveri. Har bir HTTP so'rovi uchun:

  1. Tasodifiy ravishda rasmlar papkasidan rasm tanlang
  2. Yuzni aniqlash
  3. yuzlar yoki yuzlar maydoni aniqlanmaydi
  4. Shu bilan birga, har bir vaqtda Internetdan ob -havo ma'lumotlarini yoki boshqa foydali ma'lumotlarni oling
  5. Fotosuratga vaqt va tezkor ma'lumotlarni chizish
  6. Suratni OSP bilan JPEG formatida HTTP javob sifatida qaytaring

Mijoz

Mijoz veb -brauzer, applet yoki IoT qurilmasi bo'lishi mumkin.

Masalan, 2-4 dyuymli LCD displeyli ESP32 qurilmasi ish stoliga kichkina foto ramka sifatida joylashtirish uchun juda mos keladi.

4 -qadam: Foto serverni sozlash 1 -variant: Docker tasviri

Foto serverni sozlash 1 -variant: Docker tasviri
Foto serverni sozlash 1 -variant: Docker tasviri
Foto serverni sozlash 1 -variant: Docker tasviri
Foto serverni sozlash 1 -variant: Docker tasviri

Qulaylik uchun men OSD Node.js ilovasi yuzini biladigan fotosurat uchun Docker tasvirini oldindan tayyorladim.

Agar siz hali Docker -ni o'rnatmagan bo'lsangiz, iltimos, Docker -ni ishga tushirish yo'riqnomasiga amal qiling:

www.docker.com/get-started

Keyin quyidagi buyruqni bajaring: (/path/to/photo -ni o'z rasm yo'lingizga almashtiring)

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

Buni https:// localhost: 8080/ga o'ting.

Ko'rish vaqti sizning vaqt mintaqangizda emasligini ko'rishingiz mumkin:

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

Agar siz Gonkongda men kabi yashasangiz, Gonkong ob -havo ma'lumotlarini qo'shishingiz mumkin:

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

Agar siz shaxsiy OSD ma'lumotlarini ishlab chiqmoqchi bo'lsangiz:

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-xabardor-photo-osd/app.js: /app/app.js moononournation/yuz-xabardor-foto-osd: 1.0. 1

O'zingizning OSD ma'lumotlarini moslashtirish uchun app.js-da update_osd () funktsiyasini o'zgartiring. Ishlab chiqilgandan so'ng, docker buyrug'idan DEBUG = Y muhitini olib tashlang.

5 -qadam: Foto serverni sozlash 2 -variant: Manbadan tuzish

Agar siz Node.js bilan tanish bo'lsangiz, dastur serverini manbadan yaratishingiz mumkin.

Manbani oling:

git klon

Paketlarni o'rnatish:

CD-yuz-xabardor-foto-osd

npm o'rnatish

Fotosuratlar papkasini yarating va o'z rasmlaringizni papkaga nusxalash.

Ilova serverini ishga tushirish:

tugun app.js

6 -qadam: Mijoz 1 -variant: Veb -brauzer

Mijoz 1 -variant: Veb -brauzer
Mijoz 1 -variant: Veb -brauzer

Faqat brauzer https:// localhost: 8080/

Sahifa har daqiqada avtomatik ravishda sahifa o'lchamiga mos keladigan rasm yuklanadi.

P. S. Agar siz ilova serveri ishlamayotgan boshqa mashinadan ko'rsangiz, localhost -ni dastur serverining host nomi yoki IP -manziliga o'zgartirishni unutmang.

7 -qadam: Mijoz 2 -variant: ESP32 + LCD

Mijoz 2 -variant: ESP32 + LCD
Mijoz 2 -variant: ESP32 + LCD
Mijoz 2 -variant: ESP32 + LCD
Mijoz 2 -variant: ESP32 + LCD
Mijoz 2 -variant: ESP32 + LCD
Mijoz 2 -variant: ESP32 + LCD
Mijoz 2 -variant: ESP32 + LCD
Mijoz 2 -variant: ESP32 + LCD

Fotosurat mijozi ESP32 ishlab chiqarish paneli va LCD kabi oddiy bo'lishi mumkin.

Mana, kerakli uskunalar:

ESP32 ishlab chiqarish kartasi

Har qanday ESP32 dev platasi yaxshi bo'lishi kerak, bu safar men MH-ET LIVE deb nomlangan taxtadan foydalanayapman.

LCD displey

Arduino_GFX -ni qo'llab -quvvatlaydigan har qanday LCD, siz hozirda qo'llab -quvvatlanadigan displeyni GitHub readme -da topishingiz mumkin:

github.com/moononournation/Arduino_GFX

Jumper simlari

Ba'zi jumper simlari ishlab chiqaruvchi paneli va LCD pinlarining joylashishiga bog'liq. Ko'p hollarda 6-9 ta urg'ochi-ayol o'tish simlari etarli.

LCD stend

Ba'zi qo'llab -quvvatlashlar LCD -ni tekis turishiga yordam beradi, bu safar men karta ushlagichidan foydalanaman.

8 -qadam: ESP32 + LCD yig'ilishi

ESP32 + LCD yig'ilishi
ESP32 + LCD yig'ilishi
ESP32 + LCD yig'ilishi
ESP32 + LCD yig'ilishi
ESP32 + LCD yig'ilishi
ESP32 + LCD yig'ilishi

Yuqori qismida pin sarlavhasi bo'lgan ESP32 afzalroq. Agar pin sarlavhasi pastki tomonda bo'lsa, taxtani teskari qilib qo'ying;>

ESP32 va LCD -ni o'tish simlari bilan ulang, so'ng uni stendga joylashtiring.

Mana, ulanish xulosasining namunasi:

ESP32 -> LCD

Vcc -> Vcc GND -> GND GPIO 5 -> CS GPIO 27 -> shahar (mavjud bo'lsa) GPIO 33 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (ixtiyoriy) GPIO 22 -> LED (agar mavjud bo'lsa) GPIO 23 -> MOSI / SDA

9 -qadam: ESP32 + LCD dasturi

ESP32 + LCD uchun dasturiy ta'minot
ESP32 + LCD uchun dasturiy ta'minot

Arduino IDE

Agar siz hali buni qilmagan bo'lsangiz, Arduino IDE -ni yuklab oling va o'rnating:

www.arduino.cc/en/main/software

ESP32 qo'llab -quvvatlash

ESP32 qo'llab -quvvatlashini qo'shish uchun o'rnatish ko'rsatmalariga amal qiling, agar siz hali buni qilmasangiz:

github.com/espressif/arduino-esp32

Arduino_GFX kutubxonasi

Oxirgi Arduino_GFX kutubxonalarini yuklab oling: ("Klonlash yoki Yuklab olish" -> "Yuklab olish ZIP" ni bosing)

github.com/moononournation/Arduino_GFX

Arduino IDE kutubxonalarini import qilish. (Arduino IDE "Sketch" menyusi -> "Kutubxonani qo'shish" -> "ZIP kutubxonasini qo'shish" -> yuklangan ZIP faylini tanlang)

Kompilyatsiya qilish va yuklash

  1. Arduino IDE -ni oching
  2. ESP32PhotoFrame namuna kodini oching ("Fayl" -> "Misol" -> "Arduino uchun GFX kutubxonasi" -> "WiFiPhotoFrame")
  3. WiFi AP sozlamalarini SSID_NAME va SSID_PASSWORD -ga to'ldiring
  4. HTTP_HOST va HTTP_PORT -dagi server host nomini yoki IP va portini almashtiring
  5. Arduino IDE "Yuklab olish" tugmachasini bosing
  6. Agar siz yo'nalishni noto'g'ri deb topsangiz, yangi sinf kodidagi "aylanish" qiymatini (0-3) o'zgartiring

10 -qadam: Fotosuratdan zavqlaning

Fotosuratdan zavqlaning!
Fotosuratdan zavqlaning!

Ish stoliga IoT foto ramkasini qo'yish va zavqlanish vaqti keldi!

11 -qadam: Keyin nima bo'ladi?

  • O'zingizning tezkor ma'lumotingizni qo'shing
  • Yuzni aniqlashning aniqligi uchun manba fotosurat hajmini aniq sozlang
  • So'nggi fotosuratlarni server fotosuratlar papkasiga joylashtirish avtomatik vazifa
  • Ko'proq suratga oling;>

Tavsiya: