Tartalomjegyzék:

Valós idejű Rubik-kocka bekötött szemű megoldó a Raspberry Pi és az OpenCV használatával: 4 lépés
Valós idejű Rubik-kocka bekötött szemű megoldó a Raspberry Pi és az OpenCV használatával: 4 lépés

Videó: Valós idejű Rubik-kocka bekötött szemű megoldó a Raspberry Pi és az OpenCV használatával: 4 lépés

Videó: Valós idejű Rubik-kocka bekötött szemű megoldó a Raspberry Pi és az OpenCV használatával: 4 lépés
Videó: Clash of Clans | Út a level 100 felé /level 61/ 2024, December
Anonim

Ez a Rubik kockaeszköz 2. verziója, amely bekötött szemmel megoldható. Az 1. verziót javascript fejlesztette, a RubiksCubeBlindfolded1 projektet láthatja

Az előzőtől eltérően ez a verzió OpenCV könyvtárat használ a színek észlelésére és a bemenetek megadására, és jobb vizualizációs technikát biztosít.

Ennek a legújabb verziónak a legnagyobb problémája a kimenetek megjelenítése, a szekvenciaelemek egyszerre jelennek meg a rajzolt 1 kockán. Mivel a kocka 3D alakú, nehéz az összes oldalt egyszerre megjeleníteni. Tekintse meg az eredményeket YouTube -csatornám YouTube -videójában

Matrica nélküli kockát használok, ehhez egyedi felismerésre van szükség, és a legtöbb nyílt forráskód nem támogatott. Ezt a Kim Koomen által kifejlesztett nyílt forráskódot használtam, amely rögzített területeket határoz meg a kamera keretén, hogy érzékelje a kockalapok megfelelő színeit qbr projekt

1. lépés: Szükséges összetevők

  • Raspberry Pi
  • webkamera

vagy használhatja laptopját

2. lépés: Függőségek

  • Python 3
  • numpy könyvtár
  • OpenCV könyvtár

$ sudo apt-get install python3-opencv

RubiksBlindfolded csomag

$ pip3 install RubiksBlindfolded

3. lépés: Előkészületek

Előzetes lépésként kalibrálnia kell a színérzékelést. A HSV színkódok a világítás, a kamera minősége és felbontása, valamint a kocka színei miatt változnak. Az én esetemben a fehér és a sárga fényeket kombinálom a helyes eredmények elérése érdekében.

Frissítse a get_color_name (hsv) függvényt a colordetection.py oldalon

Az eredeti forráskód a kociemba csomagot használja a kocka megoldásához, megoldja, ha megkeresi a kódolás fordított lépéseit. Ebben a verzióban a saját RubiksBlindfolded nevű megoldási csomagomat használtam, amely a PyPI -n jelent meg. Lásd a leírást, hogy megtudja, hogyan kell használni RubiksBlindfolded

4. lépés: Használat

Használat
Használat
Használat
Használat

Miután telepítette az összes függőséget és beállította a fényképezőgépet, itt az ideje, hogy fusson bekötött szemmel.py szkripttel

Először be kell szkennelnie a kockát a megfelelő tájolásban. Ez a kocka szerkezete, az arcok beolvasásának sorrendje nem fontos. Figyelje meg, hogy ezek a kockalapok alapértelmezett színei, és módosíthatja őket a szemrevételezés szótár frissítésével a blindfolded.py szkripten

A szkenneléshez nyomja meg a szóköz billentyűt a nézet mentéséhez és az ESC gombot a befejezés után

Másodszor, láthatja a megoldássorozatokat a konzolon, és a paritásellenőrzést, amely megmondja, hogy alkalmazni kell -e a paritás algoritmust vagy sem

Harmadszor, egy új keret jön létre, amely 2 rajzolt kockát jelenít meg az élsor és a saroksorozat számára. A bal és jobb nyílbillentyűkkel válthat a sorozatok között, a fel és le nyilakkal pedig az él és a sarok között. a világosszürke szín az aktuális sorozatot jelöli.

A nyílbillentyűkkel láthatja az aktuális puffer színét, amely dinamikusan változik. A szürke színek a célkockát, a rózsaszín pedig a felcserélhető arcot jelentik

Forráskód

github.com/mn-banjar/blindfolded2

Ajánlott: