Kazalo:
Video: Rubikova kocka z zavezanimi očmi v realnem času z uporabo Raspberry Pi in OpenCV: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
To je druga različica orodja Rubikove kocke za reševanje z zavezanimi očmi. Prvo različico je razvil javascript, lahko si ogledate projekt RubiksCubeBlindfolded1
Za razliko od prejšnje ta različica uporablja knjižnico OpenCV za zaznavanje barv in vnos vnosov ter zagotavlja boljšo tehniko vizualizacije.
Največja težava v tej najnovejši različici je vizualizacija izhodov, elementi zaporedja so prikazani na vlečeni kocki 1 hkrati. Ker je kocka 3D oblika, je težko prikazati vse stranice hkrati. Oglejte si rezultate na mojem YouTube kanalu YouTube video
Uporabljam kocko brez nalepk, za to je potrebno prepoznavanje po meri in večina odprtokodnih kod ni podprta. Uporabil sem to odprtokodno datoteko, ki jo je razvila Kim Koomen in ki določa fiksna območja na okvirju kamere za zaznavanje pravilnih barv kockinih površin qbr project
Korak: Potrebne komponente
- Malina Pi
- Spletna kamera
ali pa uporabite prenosni računalnik
2. korak: Odvisnosti
- Python 3
- knjižnica numpy
- Knjižnica OpenCV
$ sudo apt-get namestite python3-opencv
Rubiks paket z zavezanimi očmi
$ pip3 namestite Rubiks z zavezanimi očmi
3. korak: Priprave
Kot predhodni korak morate umeriti zaznavanje barv. Barvne kode HSV se razlikujejo zaradi osvetlitve, kakovosti fotoaparata in ločljivosti ter samih barv kocke. V mojem primeru kombiniram belo in rumeno luč, da dobim pravilne rezultate.
Posodobite funkcijo get_color_name (hsv) na colordetection.py
Prvotna izvorna koda za reševanje kocke uporablja paket kociemba, ki ga reši tako, da poišče obratne korake vsakega šifriranja. V tej različici sem uporabil svoj paket za reševanje z imenom RubiksBlindfolded, ki je bil objavljen na PyPI. Oglejte si opis, če želite vedeti, kako ga uporabljati Rubiks z zavezanimi očmi
4. korak: Uporaba
Po namestitvi vseh odvisnosti in nastavitvi kamere je čas, da zaženete skript blindfolded.py
Najprej morate optično prebrati kocko v pravilni usmeritvi. To je kockasta struktura, vrstni red skeniranja obrazov ni pomemben. Upoštevajte, da so to privzete barve obrazov kocke, ki jih lahko spremenite tako, da posodobite slovar zapisov v skriptu blindfolded.py
Za skeniranje pritisnite preslednico, da shranite pogled in tipko ESC, ko končate
Drugič, na konzoli si lahko ogledate zaporedja rešitev in preverjanje parnosti, ki vam pove, ali morate uporabiti algoritem parnosti ali ne
Tretjič, ustvaril se bo nov okvir, ki prikazuje 2 narisani kocki za zaporedje robov in zaporedje vogalov. Za preklapljanje med elementi zaporedja lahko uporabite puščični tipki levo in desno, za preklop med robom in vogalom pa puščični tipki gor in dol. svetlo siva barva predstavlja trenutno zaporedje.
Vidite lahko barve trenutnega medpomnilnika, ki se s puščičnimi tipkami dinamično spreminjajo. Siva barva predstavlja ciljno cubie, roza barva pa zamenja obraz
Izvorna koda
github.com/mn-banjar/blindfolded2
Priporočena:
Prepoznavanje naprav v realnem času z uporabo EM odtisov: 6 korakov
Prepoznavanje naprav v realnem času z uporabo EM odtisov: Ta naprava je namenjena razvrščanju različnih elektronskih naprav glede na njihove EM signale. Za različne naprave oddajajo različne EM signale. Razvili smo rešitev IoT za identifikacijo elektronskih naprav z uporabo delcev
Sledilnik Covid19 v živo z uporabo ESP8266 in OLED - Nadzorna plošča Covid19 v realnem času: 4 koraki
Sledilnik Covid19 v živo z uporabo ESP8266 in OLED | Nadzorna plošča Covid19 v realnem času: Obiščite spletno mesto Techtronic Harsh: http: //techtronicharsh.com Povsod je ogromen izbruh novega koronavirusa (COVID19). Postalo je treba paziti na trenutni scenarij COVID-19 v svetu. Torej, ko sem bil doma, je bil to p
Nastavitev DS3231 RTC (ura v realnem času) natančno, hitro in avtomatizirano z uporabo Java (+-1 s): 3 koraki
Nastavitev DS3231 RTC (ure v realnem času) natančno, hitro in avtomatizirano z uporabo Jave (+-1 s): Ta navodila vam bodo pokazala, kako nastaviti uro na uri DS3231 v realnem času z uporabo Arduina in majhne aplikacije Java, ki uporablja serijska povezava Arduina. Osnovna logika tega programa: 1. Arduino pošlje serijsko zahtevo
Ustvarjanje ure z M5stick C z uporabo Arduino IDE - RTC ura v realnem času z M5stack M5stick-C: 4 koraki
Ustvarjanje ure z M5stick C z uporabo Arduino IDE | RTC ura v realnem času z M5stack M5stick-C: Pozdravljeni fantje, v tem navodilu se bomo naučili, kako narediti uro z m5stick-C razvojno ploščo m5stack z uporabo Arduino IDE. Tako bo m5stick prikazal datum, čas in amp; tedna v mesecu na zaslonu
Obvestila o dogodkih v realnem času z uporabo NodeMCU (Arduino), Google Firebase in Laravel: 4 koraki (s slikami)
Obvestila o dogodkih v realnem času z uporabo NodeMCU (Arduino), Google Firebase in Laravel: Ste kdaj želeli biti obveščeni, ko je na vašem spletnem mestu izvedeno dejanje, vendar e -pošta ni primerna? Ali želite vsakič, ko prodajate, slišati zvok ali zvonec? Ali pa potrebujete vašo takojšnjo pozornost zaradi nujne situacije