Բովանդակություն:

RoboPhoto - խճանկարների գեներատոր հանրության համար. 4 քայլ
RoboPhoto - խճանկարների գեներատոր հանրության համար. 4 քայլ

Video: RoboPhoto - խճանկարների գեներատոր հանրության համար. 4 քայլ

Video: RoboPhoto - խճանկարների գեներատոր հանրության համար. 4 քայլ
Video: Nintendo 3DS - Chibi-Robo! Photo Finder Trailer 2024, Դեկտեմբեր
Anonim
Image
Image
RoboPhoto - հանրության համար խճանկարների գեներատոր
RoboPhoto - հանրության համար խճանկարների գեներատոր
RoboPhoto - հանրության համար խճանկարների գեներատոր
RoboPhoto - հանրության համար խճանկարների գեներատոր

RoboPhoto- ն իրական ժամանակի ֆոտոմոզաիկ գեներատոր է

RoboPhoto- ն ստեղծում է իր օգտագործողների ֆոտոմոզաիկ - մինչ դուք սպասում եք:

Օգտագործելով ժամանակակից թվային տեխնիկա, ինչպիսիք են պատկերի մշակումը, դեմքի ճանաչումը և արհեստական ինտելեկտը, RoboPhoto- ն ունակ է ստեղծել իրական ժամանակում բոլոր այցելուների ֆոտոմոզաիկա, որոնք անցնում են կողքով և սեղմում են դրա կոճակը:

Ամեն անգամ, երբ կոճակը սեղմվում է, լուսանկարվում է ձեռքի տակ գտնվող անձից: Ակնթարթորեն յուրաքանչյուր լուսանկար սկանավորվում և մեկնաբանվում է RoboPhoto- ի կողմից: RoboPhoto ծրագրակազմը կփոխի բոլոր անհատական պատկերը, այնպես որ այն կդառնա ավելի մեծ պատկերի մաս, այնուհետև կտպագրի այս փոփոխված պատկերը կպչուն պիտակի վրա, որը կպիտակավորվի կոորդինատներով, որոնք ցույց են տալիս յուրաքանչյուր լուսանկարի գտնվելու վայրը այդ ավելի մեծ պատկերի մեջ: Այնուհետև յուրաքանչյուր այցելուին խնդրվում է տեղադրել իր սեփական կպչուն պիտակը ավելի մեծ կտավի վրա, որը պարունակում է միայն համապատասխան ցանց:

RoboPhoto- ի շահագործման ընթացքում կստեղծվի նոր պատկեր: Այս առանձին լուսանկարներից կազմված ֆոտոմոզաիկ, որը նմանակելու է կանխորոշված «թիրախային պատկերը»:

RoboPhoto- ն գործում է նաև մեկ օգտվողի ռեժիմում: Այս ձևը կազմաձևելիս RoboPhoto- ն ստեղծում է մեկ օգտագործողի ամբողջական խճանկար:

Պարագաներ

  • Windows 10 համակարգիչ ՝ տեղադրված Visual Studio- ով և IoT փաթեթներով
  • Raspberry Pi 3B+ ՝ տեղադրված Microsoft Windows 10 IoT- ով
  • Գունավոր պիտակի տպիչ (Brother VC-500W)
  • Մի մեծ կարմիր կոճակ, որը տեղադրված է պատվանդանի վրա ՝ օգտագործողի մուտքի համար
  • HDMI էկրան ՝ օգտվողի կարծիքի համար
  • Microsoft Xbox Kinect v2 տեսախցիկ, որը գողացել են իմ որդուց, լուսանկարելու համար
  • Networkանց (Wifi, LAN)
  • Թիրախային ցանց: Թղթի թերթ, որի վրա տպված է ցանց -լրացվում է կոորդինատներով: Այս թղթե ցանցը օգտագործվում է որպես կտավ, որտեղ այցելուները կարող են իրենց լուսանկարը կպցնել նշանակված կոորդինատներին: Եվ այսպես, նրանք ի վերջո միասին կստեղծեն վերջնական արդյունքը ՝ գեղեցիկ նոր ֆոտոմոզաիկ:

Օգտագործվել է icrosoft Kinect 2.0 տեսախցիկը, քանի որ այն կարող է խորքային պատկերներ վերցնել: Այս գործառույթը օգտագործվում է յուրաքանչյուր առանձին լուսանկարչի վրա վիրտուալ կանաչ էկրան ստեղծելու համար: Այս կերպ RoboPhoto- ն կարող է ներկել յուրաքանչյուր առանձին լուսանկարի ֆոնը `համապատասխան խճանկարում գտնվող թիրախային կտորի գույնին:

Քայլ 1: Ինչպես է այն գործում

Ինչպես է այն գործում
Ինչպես է այն գործում
Ինչպես է այն գործում
Ինչպես է այն գործում
Ինչպես է այն գործում
Ինչպես է այն գործում
Ինչպես է այն գործում
Ինչպես է այն գործում

RoboPhoto- ն պատվանդան է, որը պարունակում է պատվանդան, որի վրա կա մեծ կարմիր կոճակ, համակարգիչ ՝ կցված պիտակի տպիչով և փոքր IoT սարքով, որը կառավարում է Օգտվողի միջերեսը (էկրան և կոճակ): Իմ դեպքում ՝ RaspBerry 3B+:

  1. RoboPhoto- ն գործում է հանրային հասանելի վայրում և (այն միացնելուց հետո) ինքնաշխատ է: Վազելիս RoboPhoto- ն խրախուսում է անցնող այցելուներին սեղմել իր մեծ կարմիր կոճակը:
  2. Ամեն անգամ, երբ այդ մեծ կարմիր կոճակը սեղմվի, RoboPhoto- ն լուսանկարելու է այցելուին, որը պարզապես սեղմել է կոճակը Kinect տեսախցիկով:
  3. Այնուհետեւ RoboPhoto- ն կօգտագործի իր առաջադեմ A. I. և պատկերի մշակման հմտություններ ՝ յուրաքանչյուր լուսանկար փոխելու համար, որպեսզի այն համապատասխանի ապագա խճանկարին: Դրան հասնելու համար RoboPhoto- ն ներկում է յուրաքանչյուր լուսանկարի ֆոնը `համապատասխան բեռնված պատկերի ներսում համապատասխանող թիրախի գույնին: Խմբագրումից հետո RoboPhoto- ն խմբագրված լուսանկարը տպում է կպչուկի վրա, ինչպես նաև կոորդինատների մի շարք, որոնք մատնանշում են խճանկարի ներսում այս մեկ կպչուկի գտնվելու վայրը:

  4. Այնուհետև օգտագործողին խնդրվում է կպչուկը տեղադրել խճանկարային թիրախի վրա:
  5. Եվ այսպես, շատ մարդկանց այցելելուց հետո, նոր արվեստի գործ կհայտնվի: Խճանկար ստեղծելու համար ձեզ հարկավոր են շատ անհատական կտորներ: Ես արժանացել եմ 600 կտորի արժանապատիվ արդյունքների

RoboPhoto- ն կարող է գործել նաև մեկ օգտվողի ռեժիմում:

Այս կազմաձևում RoboPhoto- ն ստեղծում է մեկ օգտագործողից ouf խմբագրված լուսանկարների ամբողջական խճանկար: Կոճակին սեղմելուց հետո RoboPhoto- ն կնկարահանի օգտվողի ավելի քան 600 տարբեր լուսանկարներ, այնուհետև դրանք խմբագրելու և դասավորելու է ՝ կազմելով մեկ նոր խճանկար, որը ստեղծվել է նախապես ընտրված թիրախային պատկերից հետո:

Քայլ 2: Սարքավորումների հավաքում

Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում

Ինչպես ցույց է տրված վերևի նկարում, Win 10 համակարգիչը միացված է Kinect տեսախցիկին: Kinect- ը պետք է միացված լինի USB 3.0 -ով: Այն ժամանակ, երբ ես ստեղծեցի RoboPhoto, ոչ մի Raspberry Pi հասանելի չէր USB 3.0 -ով:*

ԱՀ -ն օգտագործվում է նաև կցված պիտակի տպիչին տպագրություն մշակելու համար: Իմ դեպքում Brother VC-500W: Բավականին էժան կենցաղային գույնի պիտակի տպիչ: Այնուամենայնիվ, դա շատ շատ դանդաղ է: Հնարավորության դեպքում ավելի լավ է օգտագործել պրոֆեսիոնալ:

Մեծ կարմիր կոճակը կցված է Raspberry Pi 3B+ - ին: GPIO- ին ամրացված է ընդամենը 4 լար: Սա միակ հրակցումն է, որն անհրաժեշտ է կատարել այս Հրահանգում: Pi- ն նաև հետադարձ կապ է ապահովում մեր այցելուների համար `HDMI- ով 7 '' TFT էկրանի միջոցով:

Այն կարգի բերելու համար ես կառուցեցի փայտե պատվանդան, որը պահում է այս բոլոր բաղադրիչները:

Պատվանդանի կողքին `պատին, տեղադրված է թղթի թերթիկ, որը պարունակում է թիրախային ցանցը և կոորդինատները (A1/A2): Քանի որ պիտակի տպիչը, որը ես օգտագործել եմ, առավելագույնը հասնում է պիտակի լայնությանը = 2, 5 սմ, այս ցանցի բոլոր քառակուսիները ունեն 2, 5 սմ x 2, 5 սմ չափսեր:

*Այսօր Raspberry Pi4- ն առաջարկում է USB3.0: Alse W10- ը կարող է գործարկվել սարքի վրա: Այսպիսով, տեսականորեն պետք է հնարավոր լինի ստեղծել RoboPhoto v2.0 առանց համակարգչի օգտագործման: Հավանաբար, Covid '19- ն ինձ բավականաչափ ժամանակ կտրամադրի ՝ շուտով նման հրահանգ հրատարակելու համար:

Քայլ 3: Գրեք օրենսգիրքը

Գրել օրենսգիրքը
Գրել օրենսգիրքը
Գրել օրենսգիրքը
Գրել օրենսգիրքը

Կոդ

RoboPhoto- ն ստեղծվել է VisualStudio- ի հետ ՝ որպես լուծում երկու նախագծով.

  1. ԱՀ -ում Windows Forms հավելվածը տեղավորում է TCP սերվեր և վարում Kinect մուտքագրումը
  2. Raspberry Pi 3B+-ը հյուրընկալում է TCP հաճախորդին UWP- ի ղեկավարած ծրագրի շրջանակներում (սահմանվել է որպես գործարկման ծրագիր) `կոճակի մամուլի իրադարձությունները կարգավորելու և օգտագործողին հետադարձ կապ ապահովելու իր 7" TFT էկրանով:

Վերևի գծապատկերում ես փորձել եմ ձեզ պատկերացում կազմել, թե ինչ է անում իմ փափուկը: Այս (բացարձակապես 100% աշխատող) RoboPhoto լուծումը ստեղծելու համար գրածս Visual Studio- ն տրամադրված է այս հրահանգով: Այնուամենայնիվ, ես պետք է նախազգուշացնեմ բոլորին այս ֆայլը իջեցնելու համար. Իմ գրած կոդը հեռու է գեղեցիկից և հաճախ կապված է իմ dev-PC- ի հետ: Այսպիսով, ես խրախուսում եմ բոլորին ստեղծել ավելի լավ, ավելի գեղեցիկ և կայուն լուծում:

1drv.ms/u/s!Aq7eBym1bHDKkKcigYzt8az9WEYOOg…

Ցանց

Օրինակ կոդի մեջ Pi- ի կոդը տեղադրվում է Visual Studio- ի միջոցով ՝ իմ ցանցի IPAddress հասցեով: Դուք, հավանաբար, պետք է փոխեք սա ՝ ձեր սեփականին համապատասխանելու համար: Դա անելու համար ՝ Visual Studio- ում լուծումը բացելուց հետո աջ սեղմեք ARM հաճախորդի նախագծի վրա, այնուհետև ընտրեք հատկություններ և արժեքի Հեռակառավարիչ մեքենան փոխանցեք ձեր սեփական Pi- ի IPAddress- ին: Նաև պետք է թույլ տաք, որ հաճախորդից սերվեր անցնի 8123 պորտին ՝ Windows Firewall- ի սերվերի վրա (ԱՀ): Եթե լուծումը գործարկեք Visual Studio- ից, այն պետք է խնդրի ձեզ դա անել U.- ի համար:

Կոդավորման ընթացքում ես շատ դժվարություններ ունեցա W32 և UWP- ը ճիշտ հաղորդակցվելու հարցում: Ես այն գործի դրեցի ՝ հաճախորդի և սերվերի երկու առանձին դասերի միջոցով.

Խճանկարային ֆայլեր `անհատական դաս

RoboPhoto- ն ստեղծում է խճանկարներ `թիրախային պատկերն ընդօրինակելու համար: Այս նպատակային պատկերը և բոլոր առանձին լուսանկարները, որոնք միասին կազմում են ապագա խճանկարը, ինչպես նաև յուրաքանչյուր RoboPhoto- ի որոշ այլ հատկություններ պահվում են ֆայլային համակարգի ֆայլերում: Իմ ուղեկցող ծածկագիրը օգտագործում է ֆայլերի և թղթապանակների մի շարք c: / tmp / MosaicBuilder: Այս թղթապանակի ներսում ծածկագիրը կարդալու է բոլոր ենթապանակները ՝ թղթապանակով, որը սկսվում է [prj_] - ով ՝ որպես խճանկարային նախագծի պանակներ: Այս [prj_] թղթապանակների ներսում այն կփորձի բացել [_projectdata.txt] անունով նախագծային ֆայլ, որը պարունակում է յուրաքանչյուր նախագծի համար անհրաժեշտ բոլոր տեղեկությունները:

Նման նախագծային ֆայլը բաղկացած է.

  1. այս նախագծի նպատակային պատկերի ամբողջական ուղին և ֆայլի անունը
  2. ամբողջական ուղին, որտեղ պահվում են այս նախագծի առանձին լուսանկարներ (կտորներ)
  3. Սյունակների քանակը, որոնք կպարունակի խճանկարը
  4. Տողերի քանակը, որոնք կպարունակի խճանկարը

Նախագծերի օրինակները ներկայացված են zip ֆայլում ՝ / slnBBMosaic2 / wfMosaicServerKinect / bin / x86 / Debug / prj_xxx

C# սերվերի ծածկագրում խճանկարների մշակումը կատարվում է հատուկ դասի միջոցով ՝ BBMosaicProject.cs

Microsoft Kinect v2.0 - Կանաչ էկրան

Ուղղակի լուսանկարելու համար ցանկացած տեսախցիկ կանի: Բայց ես օգտագործել եմ Microsoft Kinect v2.0- ը ՝ գունավոր պատկերները և խորը պատկերները համատեղելու համար: Այս կերպ կարող է ստեղծվել կանաչ էկրանի էֆեկտ: Kinect- ից ստացված բոլոր գունավոր պատկերների ֆոնը կփոխարինվի միասնական կանաչ մակերեսով (BBBackgroundRemovalTool.cs):

Սերվերի նախագծում ավելացվել է հղում Microsoft. Kinect- ին:

EMGU

Քանի որ մենք պետք է վստահ լինենք, որ մարդն այն լուսանկարում է, որն արվել է կոճակը սեղմելիս, RoboPhoto- ին ավելացվել են դեմքի ճանաչման հնարավորությունները:

www.nuget.org/packages/Emgu. CV/3.4.3.3016

Միայն այն դեպքում, երբ անձը նկարի ներսում է, այս նկարի կանաչ էկրանը կփոխարինվի միատեսակ գունավոր մակերեսով, որի գույնի կոդերը հավասար կլինեն խճանկարում ապագա խճանկարում թիրախային մասի նախնական գույնին:

Քայլ 4: Շնորհակալություն

Շնորհակալություն
Շնորհակալություն

Շնորհակալություն իմ Instructable- ը կարդալու համար: Սա իմ առաջինն էր: Հուսով եմ ձեզ դուր եկավ:

Խորհուրդ ենք տալիս: