Mundarija:
- Ta'minotlar
- 1 -qadam: u qanday ishlaydi
- 2 -qadam: uskunani yig'ish
- 3 -qadam: Kodni yozish
- 4 -qadam: Rahmat
Video: RoboPhoto - jamoatchilik uchun mozaik generator: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
RoboPhoto-bu real vaqtda fotomozayka generatori
RoboPhoto o'z foydalanuvchilarining fotomozaykasini yaratadi - siz kutasiz.
Tasvirni qayta ishlash, yuzni aniqlash va sun'iy intellekt kabi zamonaviy raqamli texnikani qo'llagan holda, RoboPhoto o'tayotgan va tashrif buyuruvchilarning fotomozaykasini yaratishga qodir-real vaqtda.
Tugma har bosilganda qo'l ostidagi odamning surati olinadi. Bir zumda har bir surat RoboPhoto tomonidan skaner qilinadi va talqin qilinadi. RoboPhoto dasturi keyinchalik har bir tasvirni o'zgartiradi, shunda u kattaroq tasvirning bir qismiga aylanadi va keyin bu o'zgartirilgan rasmni koordinatalar to'plami bilan etiketkaga bosib chiqaradi, bu esa har bir rasmning o'sha katta rasmdagi joyini ko'rsatadi. Keyin har bir tashrif buyuruvchidan o'z rasm-stikerini kattaroq tuvalga faqat mos keladigan panjara qo'yishni so'rashadi.
RoboPhoto ishlayotganda yangi tasvir yaratiladi. Oldindan aniqlangan "nishon tasvirini" taqlid qiladigan ushbu individual fotosuratlardan tashkil topgan fotomozayka.
RoboPhoto shuningdek, bitta foydalanuvchi rejimida ishlaydi. RoboPhoto shu tarzda tuzilganda, bitta foydalanuvchining to'liq mozaikasini yaratadi.
Ta'minotlar
- Visual Studio va IoT paketlari o'rnatilgan Windows 10 kompyuter
- Microsoft Windows 10 IoT o'rnatilgan Raspberry Pi 3B+
- Rangli yorliqli printer (Brother VC-500W)
- Katta qizil tugmachani foydalanuvchi kiritish uchun poydevorga o'rnatilgan
- Foydalanuvchilarning fikr-mulohazalari uchun HDMI displey
- Suratga olish uchun o'g'limdan o'g'irlangan Microsoft Xbox Kinect v2 kamerasi
- Tarmoq (Wi -Fi, LAN)
- Maqsadli tarmoq. Tarmoqli bosilgan qog'oz varag'i -koordinatalar bilan to'ldirilgan. Ushbu qog'oz panjara tuval sifatida ishlatiladi, bu erda tashrif buyuruvchilar o'z rasmlarini belgilangan koordinatalarga yopishtirishlari mumkin. Va oxir-oqibat ular birgalikda yakuniy natijani yaratadilar: chiroyli yangi fotomozayka.
ICrosoft Kinect 2.0 kamerasi ishlatilgan, chunki u chuqur tasvirlarni olishi mumkin. Bu xususiyat har bir fotosuratda virtual yashil ekran yaratish uchun ishlatiladi. Shunday qilib, RoboPhoto har bir fotosuratning fonini bo'lajak mozaikadagi maqsadli qismning rangiga mos kelishi uchun qayta bo'yashi mumkin.
1 -qadam: u qanday ishlaydi
RoboPhoto - bu katta qizil tugmachali poydevor, yorliqli printer o'rnatilgan kompyuter va foydalanuvchi interfeysi (ekran va tugma) bilan ishlaydigan kichik IoT qurilmasi. Mening holatimda: RaspBerry 3B+.
- RoboPhoto hamma uchun ochiq bo'lgan joyda ishlaydi va (uni yoqgandan keyin) o'z-o'zidan ishlaydi. Yugurayotganda, o'tayotgan mehmonlarni RoboPhoto katta qizil tugmani bosishga undaydi.
- Qizil tugma bosilganda, RoboPhoto Kinect kamerasi bilan tugmani bosgan mehmonni suratga oladi.
-
Keyin RoboPhoto o'zining ilg'or A. I -dan foydalanadi. va har bir fotosuratni bo'lajak mozaikaning bir qismiga mos keladigan tarzda o'zgartirish uchun tasvirni qayta ishlash ko'nikmalari. Bunga erishish uchun RoboPhoto har bir fotosuratning fonini oldindan yuklangan tasvir ichidagi maqsadli bo'lak rangiga mos ravishda bo'yaydi. Tahrirlashdan so'ng, RoboPhoto tahrirlangan fotosuratni stikerga bosib chiqaradi va koordinatalar to'plami bilan bu stikerni mozaikaning ichida ko'rsatib beradi.
- Keyin foydalanuvchidan stikerni nishon varag'iga joylashtirish so'raladi.
- Shunday qilib, ko'pchilik tashrif buyurganidan so'ng, yangi san'at asari paydo bo'ladi. Mozaikani yaratish uchun sizga juda ko'p individual qismlar kerak bo'ladi. Men 600 ta yugurishda yaxshi natijalarga erishdim
RoboPhoto shuningdek, bitta foydalanuvchi rejimida ishlashi mumkin.
Bu konfiguratsiyada RoboPhoto bitta foydalanuvchidan tahrirlangan fotosuratlarning to'liq mozaikasini yaratadi. Tugmani bosgandan so'ng, RoboPhoto foydalanuvchining 600 ga yaqin turli xil fotosuratlarini suratga oladi, so'ngra ularni oldindan tanlangan maqsadli tasvirdan so'ng yaratilgan bitta yangi mozaikani yaratish uchun tartibga soladi va tartibga soladi.
2 -qadam: uskunani yig'ish
Yuqoridagi rasmda ko'rsatilgandek, Win 10 kompyuter Kinect kamerasiga ulangan. Kinect USB 3.0 orqali ulangan bo'lishi kerak. Men RoboPhoto yaratganimda - USB 3.0 bilan Raspberry Pi yo'q edi*.
Kompyuter, shuningdek, biriktirilgan yorliq printeriga chop etish uchun ishlatiladi. Mening vaziyatimda birodar VC-500W. Juda arzon uy -ro'zg'or rangli printer. Biroq, bu juda sekin. Iloji bo'lsa, professionallardan foydalanish yaxshiroqdir.
Katta qizil tugma Raspberry Pi 3B+ga ulangan. GPIO -ga faqat 4 ta sim ulangan. Bu yo'riqnomada kerak bo'lgan yagona lehim. Pi, shuningdek, HDMI orqali 7 dyuymli TFT ekrani orqali tashrif buyuruvchilarimizga ma'lumot beradi.
Tartibga solish uchun men yog'ochdan yasalgan poydevor qurdim, unda barcha komponentlar bor.
Poydevor yonida, devorga, maqsadli panjara va koordinatalarni o'z ichiga olgan qog'oz varag'i qo'yilgan (A1/A2). Men foydalanadigan yorliq printeri etiket kengligi = 2, 5 sm ga oshgani uchun, bu katakchadagi barcha kvadratchalar 2, 5 sm x 2, 5 sm.
*Bugungi kunda Raspberry Pi4 USB3.0 ni taklif qiladi. Alse W10 qurilmada ishlashi mumkin. Shunday qilib, nazariy jihatdan kompyuterdan foydalanmasdan RoboPhoto v2.0 yaratish mumkin. Ehtimol, Covid '19 menga tez orada bunday ko'rsatmalarni nashr etish uchun etarli vaqt beradi.
3 -qadam: Kodni yozish
Kod
RoboPhoto VisualStudio yordamida ikkita loyihadan iborat yechim sifatida yaratilgan:
- Kompyuterda Windows Forms ilovasi TCP serveriga ega va Kinect kirishini boshqaradi
- Raspberry Pi 3B+ UWP dasturida TCP mijozini joylashtiradi (ishga tushirish-ilova sifatida o'rnatiladi), tugmachalarni bosish hodisalarini boshqaradi va foydalanuvchiga 7 dyuymli TFT ekrani orqali fikr bildiradi.
Yuqoridagi diagrammada men sizga yumshoqligim nima qilayotgani haqida tushuncha berishga harakat qildim. Buni yaratish uchun yozgan Visual Studio (mutlaqo 100% ishlaydigan) RoboPhoto yechimi ushbu ko'rsatma bilan ta'minlangan. Shu bilan birga, men ushbu faylni pastga tushiradigan har bir kishini ogohlantirishim kerak: Men yozgan kod juda chiroyli emas va ko'pincha mening shaxsiy kompyuterim bilan bog'langan. Shunday qilib, men barchani yaxshiroq, yaxshiroq va barqaror echim yaratishga undayman.
1drv.ms/u/s!Aq7eBym1bHDKkKcigYzt8az9WEYOOg…
Tarmoq
Misol kodida, Pi kodi Visual Studio orqali tarmoqdagi IPAddress -ga joylashtirilgan. Ehtimol, buni o'zingiznikiga mos ravishda o'zgartirishingiz kerak. Buni amalga oshirish uchun - Visual Studio'da echimni ochganingizdan so'ng, ARM mijoz loyihasini o'ng tugmasini bosing, so'ngra xususiyatlarni tanlang va masofadan boshqarish pultining IP manziliga kiriting. Bundan tashqari, siz serverdagi Windows Xavfsizlik devori ichidagi 8123 portdagi mijozdan serverga trafikka ruxsat berishingiz kerak. Agar siz echimni Visual Studio -dan ishlatsangiz, u buni U uchun bajarishingizni so'rashi kerak.
Kodlashda men W32 va UWP -ni to'g'ri muloqot qilishda ko'p muammolarga duch keldim. Men buni mijoz va serverda ikkita alohida sinf yordamida ishladim: resp MyEchoClient.cs (ARM mijozida) va ConnectionClient.cs (serverda mijoz ulanishlarini o'rnatish).
Mosaik fayllar - maxsus sinf
RoboPhoto nishon tasvirini taqlid qilish uchun mozaikalar yaratadi. Bu maqsadli tasvir va bo'lajak mozaikani tashkil etuvchi barcha individual fotosuratlar, shuningdek har bir RoboPhoto-ning boshqa xususiyatlari fayl tizimidagi fayllarda saqlanadi. Mening kodim c: / tmp / MosaicBuilder katalogidagi fayllar va papkalar to'plamidan foydalanadi. Ushbu papkada kod [prj_] bilan boshlanadigan papka nomi bilan barcha pastki papkalarni o'qiydi. Bu barcha [prj_] papkalarida u har bir loyiha uchun zarur bo'lgan barcha ma'lumotlarni o'z ichiga olgan [_projectdata.txt] nomli loyiha faylini ochishga harakat qiladi.
Bunday loyiha fayli quyidagilardan iborat:
- loyihaning maqsadli tasvirining to'liq yo'li va fayl nomi
- ushbu loyihaning individual fotosuratlari (bo'laklari) saqlanadigan to'liq yo'l
- Mozaikaning ustunlari soni
- Mozaikaning qatorlari soni
Misol loyihalari zip faylida keltirilgan: / slnBBMosaic2 / wfMosaicServerKinect / bin / x86 / Debug / prj_xxx
C# server kodida barcha mozaikani qayta ishlash maxsus sinf orqali amalga oshiriladi: BBMosaicProject.cs
Microsoft Kinect v2.0 - yashil ekran
Har qanday kamera shunchaki rasmga oladi. Lekin men rangli va chuqur tasvirlarni birlashtirish uchun Microsoft Kinect v2.0 dan foydalanganman. Shunday qilib, yashil ekran effektini yaratish mumkin. Kinect -dan olingan barcha rangli tasvirlardagi fon bir xil yashil sirt bilan almashtiriladi (BBBackgroundRemovalTool.cs).
Microsoft. Kinect -ga havola server loyihasiga qo'shildi.
EMGU
Tugma bosilganda olingan fotosuratda odam borligiga ishonch hosil qilishimiz kerak, chunki RoboPhoto -ga yuzni aniqlash qobiliyati qo'shilgan.
www.nuget.org/packages/Emgu. CV/3.4.3.3016
Faqat rasmda odam bo'lganida, bu rasmdagi yashil ekran bir xil rangdagi sirt bilan almashtiriladi, bu rang mozaikadagi nishonning o'rtacha rangiga teng bo'ladi.
4 -qadam: Rahmat
Mening ko'rsatmalarni o'qiganingiz uchun tashakkur. Bu mening birinchi bo'ldi. Umid qilamanki, sizga yoqdi.
Tavsiya:
Raspberry Pi uchun yangi boshlanuvchilar uchun qo'llanma: 6 qadam (rasmlar bilan)
Raspberry Pi uchun yangi boshlanuvchilar uchun qo'llanma: Men bir muncha vaqt Arduino bilan ishlaganman. Bu oson, arzon va ishni bajaradi. Ammo so'nggi paytlarda men IoT loyihalariga ko'proq moyil bo'ldim. Shunday qilib, men ESP ishlab chiqish kartasini ishlata boshladim va u juda yaxshi ishladi. Ammo endi men oldinga siljishni xohlayman
Tamil tilida multimetrdan qanday foydalanish kerak - Yangi boshlanuvchilar uchun qo'llanma - Yangi boshlanuvchilar uchun multimetr: 8 qadam
Tamil tilida multimetrdan qanday foydalanish kerak | Yangi boshlanuvchilar uchun qo'llanma | Yangi boshlanuvchilar uchun multimetr: Salom do'stlar, men bu qo'llanmada men multimetrni elektronikaning barcha turlarida 7 xil bosqichda qanday ishlatishni tushuntirdim, masalan: 1) nosozliklarni aniqlash uchun uzluksizlik testi 2) doimiy oqimni o'lchash 3) diod va LEDni sinovdan o'tkazish 4) o'lchash. Resi
Qo'lingizni yuvish uchun taymerni kamroq aloqa qilish uchun #Covid-19: 3 qadam
Qo'lingizni yuvish uchun taymerni kamroq aloqa qilish uchun #Covid-19: Salom! Bu darslik sizga taymer bilan kamroq aloqa qilishni ko'rsatib beradi. Haqiqatan ham koronavirus epidemiyasi davrida qo'llarni yaxshilab yuvish juda muhim. Shuning uchun men bu taymerni yaratdim. Bu taymer uchun men Nokia 5110 LCD -dan foydalandim
AD / Protelda mozaik dizaynni qanday tezda amalga oshirish mumkin: 3 qadam
AD / Protelda mozaik dizaynni tezda qanday amalga oshirish mumkin: PCB dizaynida biz tez -tez yig'ishni ishlatamiz, tez yig'ilishga qanday erishish mumkin? Quyidagi usullar joriy etilgan; O'zingizning tenglikni taxtangizni yaratish uchun shu erni bosing: http://www.starivergroup.com/ Altium/Protelda yig'ilish usuli Aslida yig'ilish deb ataladi
IPad uchun devorga o'rnatish uyni avtomatlashtirishni boshqarish paneli sifatida, ekranni faollashtirish uchun servo boshqariladigan magnitdan foydalanish: 4 qadam (rasmlar bilan)
IPad uchun devorga o'rnatish uyni avtomatlashtirishni boshqarish paneli sifatida, ekranni faollashtirish uchun servo boshqariladigan magnitdan foydalanadi: So'nggi paytlarda men uyim va atrofimdagi narsalarni avtomatlashtirishga ancha vaqt sarfladim. Men Domoticz -ni uy avtomatlashtirish ilovasi sifatida ishlataman, batafsil ma'lumot uchun www.domoticz.com saytiga qarang. Men Domoticz haqidagi barcha ma'lumotlarni ko'rsatadigan asboblar paneli dasturini qidirishda