Indholdsfortegnelse:

Real-time Rubik's Cube bind for øjnene med Raspberry Pi og OpenCV: 4 trin
Real-time Rubik's Cube bind for øjnene med Raspberry Pi og OpenCV: 4 trin

Video: Real-time Rubik's Cube bind for øjnene med Raspberry Pi og OpenCV: 4 trin

Video: Real-time Rubik's Cube bind for øjnene med Raspberry Pi og OpenCV: 4 trin
Video: Rubik’s Cube BLINDFOLDED?! 🤯 2024, November
Anonim

Dette er den anden version af Rubiks terningværktøj, der er designet til at løse med bind for øjnene. Den første version blev udviklet af javascript, du kan se projektet RubiksCubeBlindfolded1

I modsætning til den foregående bruger denne version OpenCV -bibliotek til at registrere farverne og indtaste input og giver bedre visualiseringsteknik.

Det største problem i denne nyeste version er visualisering af output, sekvenselementerne vises på den tegnede terning 1 ad gangen. Da terningen er en 3D -form, er det svært at vise alle sider på samme tid. Se resultaterne på min YouTube -kanal YouTube -video

Jeg bruger en klisterfri kube, dette kræver en brugerdefineret genkendelse, og de fleste open source -koder understøttes ikke. Jeg brugte denne open source udviklet af Kim Koomen, som angiver faste områder på kamerarammen til at registrere de korrekte farver på kubeflader qbr -projekt

Trin 1: Nødvendige komponenter

  • Hindbær Pi
  • webcam

eller du kan bruge din bærbare

Trin 2: afhængigheder

  • Python 3
  • numpy bibliotek
  • OpenCV bibliotek

$ sudo apt-get install python3-opencv

RubiksBlindfoldet pakke

$ pip3 installer RubiksBlindfolded

Trin 3: Forberedelser

Du skal kalibrere farvedetekteringen som et forudgående trin. HSV -farvekoderne varierer på grund af belysningen, kameraets kvalitet og opløsning og selve terningens farver. I mit tilfælde kombinerer jeg hvide og gule lys for at få korrekte resultater.

Opdater funktionen get_color_name (hsv) på colordetection.py

Den originale kildekode bruger kociemba -pakken til at løse terningen, den løses ved at finde de omvendte trin i enhver scramble. I denne version brugte jeg min egen løsningspakke ved navn RubiksBlindfolded, der blev offentliggjort på PyPI. Se beskrivelsen for at vide, hvordan du bruger den RubiksBlindfolded

Trin 4: Anvendelse

Anvendelse
Anvendelse
Anvendelse
Anvendelse

Efter at have installeret alle afhængigheder og indstillet dit kamera, er det tid til at køre blindfolded.py script

Først skal du scanne din terning i de korrekte retninger. Dette er terningens struktur, rækkefølgen af scanning af ansigterne er ikke vigtig. Bemærk, at disse er standardfarverne på terningens ansigter, du kan ændre dem ved at opdatere notationsordbogen på blindfolded.py script

For at foretage scanningen skal du trykke på mellemrumstasten for at gemme visningen og ESC -tasten efter endt behandling

For det andet kan du se løsningssekvenserne på konsollen og paritetskontrollen for at fortælle dig, om du skal anvende paritetsalgoritmen eller ej

For det tredje vil der blive genereret en ny ramme, der viser 2 tegnede terninger til kant- og hjørnesekvens. Du kan bruge venstre og højre piletast til at skifte mellem sekvenselementerne og pil op og ned til at skifte mellem kant og hjørne. den lysegrå farve repræsenterer den aktuelle sekvens.

Du kan se farverne på den aktuelle buffer, der ændres dynamisk med piletasterne. Grå farver repræsenterer målkubien, og lyserød farve repræsenterer det byttende ansigt

Kildekode

github.com/mn-banjar/blindfolded2

Anbefalede: