Sadržaj:

Rubikova kocka s povezom s povezom u stvarnom vremenu koristeći Raspberry Pi i OpenCV: 4 koraka
Rubikova kocka s povezom s povezom u stvarnom vremenu koristeći Raspberry Pi i OpenCV: 4 koraka

Video: Rubikova kocka s povezom s povezom u stvarnom vremenu koristeći Raspberry Pi i OpenCV: 4 koraka

Video: Rubikova kocka s povezom s povezom u stvarnom vremenu koristeći Raspberry Pi i OpenCV: 4 koraka
Video: MALI SE UKENJAO #shorts 2024, Studeni
Anonim

Ovo je druga verzija Rubikovog kockastog alata za rješavanje povezanih očiju. Prvu verziju razvio je javascript, možete vidjeti projekt RubiksCubeBlindfolded1

Za razliku od prethodne, ova verzija koristi biblioteku OpenCV za otkrivanje boja i unos ulaza te pruža bolju tehniku vizualizacije.

Najveći problem u ovoj najnovijoj verziji je vizualizacija izlaza, stavke niza prikazane su na iscrtanoj kocki 1 odjednom. Budući da je kocka 3D oblik, teško je prikazati sve strane u isto vrijeme. Pogledajte rezultate na mom YouTube kanalu YouTube video

Koristim kocku bez naljepnica, za to je potrebno prilagođeno prepoznavanje, a većina kodova otvorenog koda nije podržana. Koristio sam ovaj otvoreni izvor koji je razvila Kim Koomen koji navodi fiksna područja na okviru kamere za otkrivanje ispravnih boja lica kocke qbr projekt

Korak 1: Potrebne komponente

  • Malina Pi
  • web kamera

ili možete koristiti prijenosno računalo

Korak 2: Ovisnosti

  • Python 3
  • knjižnica numpy
  • Knjižnica OpenCV

$ sudo apt-get install python3-opencv

Rubiks paket sa povezima

$ pip3 instalirajte Rubiks sa povezima

Korak 3: Pripreme

Morate kalibrirati otkrivanje boje kao prethodni korak. HSV kodovi boja razlikuju se zbog osvjetljenja, kvalitete kamere i razlučivosti te same boje kocke. U mom slučaju kombiniram bijelo i žuto svjetlo kako bih postigao točne rezultate.

Ažurirajte funkciju get_color_name (hsv) na colordetection.py

Izvorni izvorni kod koristi paket kociemba za rješavanje kocke, rješava pronalaskom obrnutih koraka bilo koje kodiranja. U ovoj verziji koristio sam vlastiti paket za rješavanje imena RubiksBlindfolded koji je objavljen na PyPI -u. Pogledajte opis da biste saznali kako ga koristiti Rubiks sa povezom preko očiju

Korak 4: Upotreba

Upotreba
Upotreba
Upotreba
Upotreba

Nakon instaliranja svih ovisnosti i postavljanja kamere, vrijeme je za pokretanje skripte blindfolded.py

Prvo morate skenirati kocku u ispravnim smjerovima. Ovo je kockasta struktura, redoslijed skeniranja lica nije bitan. Uočite da su to zadane boje lica kocke, možete ih promijeniti ažuriranjem rječnika zapisa na skripti blindfolded.py

Za skeniranje pritisnite tipku razmaknice za spremanje prikaza i tipku ESC nakon završetka

Drugo, na konzoli možete vidjeti sekvence rješenja i provjeru pariteta kako bi vam rekli trebate li primijeniti algoritam parnosti ili ne

Treće, generirat će se novi okvir koji prikazuje 2 nacrtane kocke za niz rubova i kut. Za prebacivanje između stavki niza možete koristiti tipke sa strelicama lijevo i desno, a za prebacivanje između ruba i kuta tipke sa strelicama gore i dolje. svijetlosiva boja predstavlja trenutni slijed.

Možete vidjeti boje trenutnog međuspremnika koje se dinamički mijenjaju pomoću tipki sa strelicama. Sive boje predstavljaju ciljnu cubie, a ružičasta boja predstavlja lice koje se mijenja

Izvorni kod

github.com/mn-banjar/blindfolded2

Preporučeni: