Sadržaj:

Rubikova kocka sa povezom preko očiju u stvarnom vremenu koristeći Raspberry Pi i OpenCV: 4 koraka
Rubikova kocka sa povezom preko očiju u stvarnom vremenu koristeći Raspberry Pi i OpenCV: 4 koraka

Video: Rubikova kocka sa povezom preko očiju u stvarnom vremenu koristeći Raspberry Pi i OpenCV: 4 koraka

Video: Rubikova kocka sa povezom preko očiju u stvarnom vremenu koristeći Raspberry Pi i OpenCV: 4 koraka
Video: POTPUNO SLIJEP IGRAM BRAWL STARS CHALLENGE! 2024, Juli
Anonim

Ovo je druga verzija Rubikove kocke alata za rješavanje povezanih očiju. Prvu verziju je razvio 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 sekvence se prikazuju 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 i koji navodi fiksna područja na okviru kamere za otkrivanje ispravnih boja lica kocke qbr projekt

Korak 1: Potrebne komponente

  • Raspberry Pi
  • web kamera

ili možete koristiti laptop

Korak 2: Zavisnosti

  • Python 3
  • numpy biblioteka
  • Biblioteka OpenCV

$ sudo apt-get install python3-opencv

Rubiks paket sa povezom

$ pip3 instalirajte Rubiks sa povezom

Korak 3: Pripreme

Morate kalibrirati otkrivanje boje kao prethodni korak. HSV kodovi boja variraju zbog osvjetljenja, kvaliteta kamere i rezolucije, te same boje kocke. U mom slučaju, kombiniram bijelo i žuto svjetlo da dobijem ispravne rezultate.

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

Originalni izvorni kod koristi kociemba paket za rješavanje kocke, rješava pronalaženjem 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

Korak 4: Upotreba

Upotreba
Upotreba
Upotreba
Upotreba

Nakon instaliranja svih ovisnosti i postavljanja kamere, vrijeme je da pokrenete skriptu blindfolded.py

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

Da biste izvršili skeniranje, pritisnite razmaknicu za spremanje prikaza i tipku ESC nakon završetka

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

Treće, bit će generiran novi okvir koji prikazuje 2 nacrtane kocke za niz rubova i ugao. Za prebacivanje između stavki niza možete koristiti tipke sa strelicama lijevo i desno, a za prebacivanje između ruba i ugla tipke sa strelicama gore i dolje. svetlosiva boja predstavlja trenutni niz.

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čuje se: