Sisukord:

Reaalajas Rubiku kuubi silmside lahendaja, kasutades Raspberry Pi ja OpenCV: 4 sammu
Reaalajas Rubiku kuubi silmside lahendaja, kasutades Raspberry Pi ja OpenCV: 4 sammu

Video: Reaalajas Rubiku kuubi silmside lahendaja, kasutades Raspberry Pi ja OpenCV: 4 sammu

Video: Reaalajas Rubiku kuubi silmside lahendaja, kasutades Raspberry Pi ja OpenCV: 4 sammu
Video: 50 безумных вещей с Aliexpress, от которых ты офигеешь / Лучшие вещи с Алиэкспресс + Конкурс 2024, November
Anonim

See on Rubiku kuubiku tööriista teine versioon, mis on mõeldud lahendamiseks pimedate silmadega. Esimese versiooni töötas välja javascript, näete projekti RubiksCubeBlindfolded1

Erinevalt eelmisest kasutab see versioon OpenCV teeki värvide tuvastamiseks ja sisendite sisestamiseks ning pakub paremat visualiseerimistehnikat.

Selle uusima versiooni suurim probleem on väljundite visualiseerimine, jadaüksused kuvatakse joonistatud kuubikul 1 korraga. Kuna kuubik on 3D -kujuga, on raske kõiki külgi korraga kuvada. Vaadake tulemusi minu YouTube'i kanali YouTube'i videost

Ma kasutan kleebisteta kuupi, see vajab kohandatud äratundmist ja enamikku avatud lähtekoodidest ei toetata. Kasutasin seda avatud lähtekoodiga, mille on välja töötanud Kim Koomen, mis määrab kaamera raami kindlaksmääratud alad, et tuvastada kuubikujuliste kujundite õiged värvid qbr projekt

Samm: vajalikud komponendid

  • Vaarika Pi
  • veebikaamera

või saate oma sülearvutit kasutada

Samm: sõltuvused

  • Python 3
  • numpy raamatukogu
  • OpenCV raamatukogu

$ sudo apt-get install python3-opencv

RubiksSilmaklaasiga pakend

$ pip3 install RubiksBlindfolded

3. samm: Ettevalmistused

Eeltööna peate kalibreerima värvide tuvastamise. HSV värvikoodid on valguse, kaamera kvaliteedi ja eraldusvõime ning kuubiku värvide tõttu erinevad. Minu puhul ühendan õigete tulemuste saamiseks valge ja kollase tule.

Värskendage saidil colordetection.py funktsiooni get_color_name (hsv)

Algne lähtekood kasutab kuubi lahendamiseks kociemba paketti, see lahendab mis tahes rüseluse vastupidised sammud. Selles versioonis kasutasin oma lahendamispaketti RubiksBlindfolded, mis avaldati PyPI -s. Vaadake kirjeldust, et teada saada, kuidas seda kasutada RubiksBlindfolded

4. samm: kasutamine

Kasutamine
Kasutamine
Kasutamine
Kasutamine

Pärast kõigi sõltuvuste installimist ja kaamera seadistamist on õige aeg käivitada skript pimedate silmadega

Esiteks peate oma kuubi skannima õiges suunas. See on kuubistruktuur, nägude skaneerimise järjekord pole oluline. Pange tähele, et need on kuubi nägude vaikimisi värvid, saate neid muuta, värskendades skripti blindfolded.py märkimissõnastikku

Skaneerimiseks vajutage vaate salvestamiseks tühikuklahvi ja pärast lõpetamist klahvi ESC

Teiseks näete konsoolil lahenduste järjestusi ja pariteedikontrolli, et öelda, kas peate rakendama pariteedi algoritmi või mitte

Kolmandaks genereeritakse uus kaader, mis kuvab 2 joonistatud kuubikut serva ja nurga järjestuse jaoks. Jadaüksuste vahel vahetamiseks saate kasutada vasak- ja paremnooleklahve ning serva ja nurga vahel liikumiseks üles- ja allanooleklahve. helehall värv tähistab praegust järjestust.

Näete praeguse puhvri värve, mis muutuvad dünaamiliselt nooleklahvide abil. Hallid värvid tähistavad sihtkuubikut ja roosa värv vahetavat nägu

Lähtekood

github.com/mn-banjar/blindfolded2

Soovitan: