Tartalomjegyzék:
Videó: Valós idejű Rubik-kocka bekötött szemű megoldó a Raspberry Pi és az OpenCV használatával: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
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
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:
Valós idejű eszközfelismerés EM lábnyomok használatával: 6 lépés
Valós idejű eszközfelismerés EM lábnyomok használatával: Ez az eszköz célja a különböző elektronikus eszközök osztályozása az EM jelek szerint. Különböző eszközök esetében különböző EM jeleket bocsátanak ki. Kifejlesztettünk egy IoT megoldást az elektronikai eszközök azonosítására a részecskék segítségével
Élő Covid19 Tracker ESP8266 és OLED használatával - Valós idejű Covid19 műszerfal: 4 lépés
Élő Covid19 Tracker ESP8266 és OLED használatával | Valós idejű Covid19 irányítópult: Látogassa meg a Techtronic kemény webhelyét: http: //techtronicharsh.com Mindenhol hatalmas koronavírus -járvány (COVID19) kitörése van. Szükségessé vált a COVID-19 jelenlegi forgatókönyvének figyelemmel kísérése a világban. Tehát, mivel otthon volt, ez volt a
A DS3231 RTC (valós idejű óra) pontos beállítása, gyors és automatizált Java használatával (+-1 másodperc): 3 lépés
A DS3231 RTC (valós idejű óra) pontos, gyors és automatikus beállítása Java használatával (+-1 másodperc): Ez az utasítás megmutatja, hogyan kell beállítani az időt egy DS3231 valós idejű órán egy Arduino és egy kis Java-alkalmazás segítségével, amely az Arduino soros kapcsolata. A program alapvető logikája: 1. Az Arduino soros kérést küld
Arduino alapú óra a DS1307 valós idejű óra (RTC) modul használatával és 0.96: 5 lépés
Arduino alapú óra a DS1307 valós idejű óra (RTC) modul használatával és 0.96: Sziasztok, srácok, ebben az oktatóanyagban látni fogjuk, hogyan lehet működő órát készíteni egy DS1307 valós idejű óramodul segítségével. OLED kijelzők. Tehát kiolvassuk az időt a DS1307 óra modulból. És nyomtassa ki az OLED képernyőn
Óra készítése az M5stick C segítségével Arduino IDE - használatával RTC valós idejű óra az M5stack M5stick-C-vel: 4 lépés
Óra készítése az M5stick C segítségével Arduino IDE | használatával RTC valós idejű óra az M5stack M5stick-C-vel: Sziasztok srácok, ebben az utasításban megtanuljuk, hogyan készítsünk órát az m5stick m5stick fejlesztőpaneljével az Arduino IDE segítségével. Így az m5stick megjeleníti a dátumot, az időt és az amp; a hónap hete a kijelzőn