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

Իրական ժամանակում Ռուբիկի խորանարդի փակ աչքերով լուծիչ ՝ օգտագործելով Raspberry Pi և OpenCV. 4 քայլ
Իրական ժամանակում Ռուբիկի խորանարդի փակ աչքերով լուծիչ ՝ օգտագործելով Raspberry Pi և OpenCV. 4 քայլ

Video: Իրական ժամանակում Ռուբիկի խորանարդի փակ աչքերով լուծիչ ՝ օգտագործելով Raspberry Pi և OpenCV. 4 քայլ

Video: Իրական ժամանակում Ռուբիկի խորանարդի փակ աչքերով լուծիչ ՝ օգտագործելով Raspberry Pi և OpenCV. 4 քայլ
Video: Ինչպե՞ս հավաքել ռուբիկ-կուբիկ 3x3 աչքերը փակ, ավելի հեշտ, քան աչքերը բաց, կեղծ եղանակով 2024, Նոյեմբեր
Anonim

Սա Ռուբիկի խորանարդի գործիքի 2 -րդ տարբերակն է, որը պատրաստվել է աչքերը փակ աչքերով լուծելու համար: 1 -ին տարբերակը մշակվել է javascript- ով, կարող եք տեսնել RubiksCubeBlindfolded1 նախագիծը

Ի տարբերություն նախորդի, այս տարբերակը օգտագործում է OpenCV գրադարանը `գույները հայտնաբերելու և մուտքերը մուտքագրելու համար, և ապահովում է ավելի լավ պատկերացման տեխնիկա:

Այս նորագույն տարբերակի ամենամեծ խնդիրը ելքերի արտացոլումն է, հաջորդականության տարրերը միաժամանակ ցուցադրվում են գծված խորանարդի վրա 1: Քանի որ խորանարդը 3D ձև է, դժվար է միաժամանակ ցուցադրել բոլոր կողմերը: Արդյունքները դիտեք իմ YouTube ալիքի YouTube տեսանյութում

Ես օգտագործում եմ առանց կպչուն խորանարդ, սա կարիք ունի անհատական ճանաչման, իսկ բաց կոդերի մեծ մասը չի ապահովվում: Ես օգտագործեցի Քիմ Կումենի մշակած այս բաց աղբյուրը, որը հստակեցնում է տեսախցիկի շրջանակի ֆիքսված տարածքները ՝ խորանարդի երեսների qbr նախագծի ճիշտ գույները հայտնաբերելու համար:

Քայլ 1: Անհրաժեշտ բաղադրիչներ

  • Ազնվամորի Պի
  • Վեբ - տեսախցիկ

կամ կարող եք օգտագործել ձեր նոութբուքը

Քայլ 2: Կախվածություն

  • Պիթոն 3
  • անհանգիստ գրադարան
  • OpenCV գրադարան

$ sudo apt-get տեղադրել python3-opencv

RubiksB blindfolded փաթեթ

$ pip3 տեղադրեք RubiksB blindfolded

Քայլ 3: Նախապատրաստական աշխատանքներ

Դուք պետք է ճշգրտեք գույնի հայտնաբերումը որպես նախնական քայլ: HSV- ի գունային կոդերը տարբերվում են լուսավորության, տեսախցիկի որակի և լուծման և խորանարդի գույների շնորհիվ: Իմ դեպքում ես համատեղում եմ սպիտակ և դեղին լույսերը `ճիշտ արդյունքներ ստանալու համար:

Թարմացրեք get_color_name (hsv) գործառույթը colordetection.py- ում

Սկզբնական աղբյուրի կոդը օգտագործում է kociemba փաթեթը ՝ խորանարդը լուծելու համար, այն լուծում է ՝ գտնելով ցանկացած խառնաշփոթի հակառակ քայլերը: Այս տարբերակում ես օգտագործել եմ RubiksBlindfolded անունով լուծման իմ փաթեթը, որը հրապարակվել է PyPI- ում: Տեսեք նկարագրությունը ՝ իմանալու համար, թե ինչպես օգտագործել այն RubiksBlindfolded

Քայլ 4: Օգտագործում

Օգտագործումը
Օգտագործումը
Օգտագործումը
Օգտագործումը

Բոլոր կախվածությունները տեղադրելուց և ձեր տեսախցիկը կարգավորելուց հետո, սա ժամանակն է գործարկել blindfolded.py սցենարը

Նախ, դուք պետք է սկանավորեք ձեր խորանարդը ճիշտ կողմնորոշումներով: Սա խորանարդի կառուցվածքն է, դեմքերի սկանավորման կարգը կարևոր չէ: Ուշադրություն դարձրեք, որ դրանք խորանարդի երեսների կանխադրված գույներն են: Դուք կարող եք դրանք փոխել `թարմացնելով նշագրման բառարանը blindfolded.py սցենարի վրա:

Սկանավորումը կատարելու համար սեղմեք տիեզերական ստեղն `ավարտելուց հետո պահպանել դիտումը և ESC ստեղնը

Երկրորդ, դուք կարող եք տեսնել լուծման հաջորդականությունները վահանակի վրա, և պարիտետի ստուգումը ձեզ կասի, թե արդյոք անհրաժեշտ է կիրառել հավասարության ալգորիթմ, թե ոչ

Երրորդ, կստեղծվի նոր շրջանակ, որը ցուցադրում է 2 գծված խորանարդ եզրերի և անկյունների հաջորդականության համար: Դուք կարող եք օգտագործել ձախ և աջ սլաքների ստեղները հաջորդականության տարրերի միջև փոխելու համար, իսկ վերևի և ներքևի սլաքների ստեղները `եզրից և անկյունից անցնելու համար: բաց մոխրագույն գույնը ներկայացնում է ընթացիկ հաջորդականությունը:

Դուք կարող եք տեսնել ընթացիկ բուֆերի գույները, որոնք դինամիկ կերպով փոխվում են սլաքների ստեղներով: Մոխրագույն գույները ներկայացնում են թիրախային խորանարդիկը, իսկ վարդագույնը ՝ փոխանակող դեմքը

Աղբյուրի կոդը

github.com/mn-banjar/blindfolded2

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