Obsah:
Video: Řešič se zavázanýma očima Rubikova kostka v reálném čase pomocí Raspberry Pi a OpenCV: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
Toto je druhá verze nástroje Rubikova kostka vytvořeného pro řešení se zavázanýma očima. 1. verze byla vyvinuta javascriptem, můžete vidět projekt RubiksCubeBlindfolded1
Na rozdíl od předchozí verze tato verze používá knihovnu OpenCV k detekci barev a zadávání vstupů a poskytuje lepší vizualizační techniku.
Největší problém v této nejnovější verzi je vizualizace výstupů, položky sekvence se zobrazují na nakreslené krychli 1 najednou. Protože je kostka 3D tvarem, je obtížné zobrazit všechny strany současně. Výsledky najdete na mém videu na YouTube kanálu YouTube
Používám krychli bez nálepky, to vyžaduje vlastní rozpoznávání a většina otevřených zdrojových kódů není podporována. Použil jsem tento otevřený zdroj vyvinutý Kimem Koomenem, který určuje pevné oblasti na rámu kamery, aby detekoval správné barvy tváří kostky qbr projektu
Krok 1: Potřebné součásti
- Raspberry Pi
- webová kamera
nebo můžete použít svůj notebook
Krok 2: Závislosti
- Python 3
- numpy knihovna
- OpenCV knihovna
$ sudo apt-get install python3-opencv
Balíček se zavázanýma očima
$ pip3 install RubiksBlindfolded
Krok 3: Přípravy
Jako předběžný krok musíte kalibrovat detekci barev. Barevné kódy HSV se liší v závislosti na osvětlení, kvalitě kamery a rozlišení a samotných barvách kostek. V mém případě kombinuji bílá a žlutá světla, abych získal správné výsledky.
Aktualizujte funkci get_color_name (hsv) na colordetection.py
Původní zdrojový kód používá k řešení krychle balíček kociemba, řeší to tak, že najde zpětné kroky jakéhokoli tahanice. V této verzi jsem použil svůj vlastní balíček řešení s názvem RubiksBlindfolded, který byl publikován na PyPI. Podívejte se do popisu, abyste věděli, jak jej používat RubiksBlindfolded
Krok 4: Použití
Po instalaci všech závislostí a nastavení kamery je čas spustit skript blindfolded.py
Nejprve musíte naskenovat kostku se správnou orientací. Toto je struktura krychle, pořadí skenování obličejů není důležité. Všimněte si, že toto jsou výchozí barvy ploch krychle, můžete je změnit aktualizací slovníku notace na skriptu blindfolded.py
Chcete -li skenování provést, stiskněte mezerník pro uložení zobrazení a klávesu ESC po dokončení
Za druhé, na konzole můžete vidět sekvence řešení a kontrolu parity, která vám řekne, zda potřebujete použít paritní algoritmus nebo ne
Za třetí bude vygenerován nový rámec, který zobrazí 2 nakreslené kostky pro posloupnost hran a posloupnost rohů. K přepínání mezi položkami sekvencí můžete použít klávesy se šipkami doleva a doprava a mezi šipkami nahoru a dolů přepínat mezi okrajem a rohem. světle šedá barva představuje aktuální sekvenci.
Pomocí šipek můžete vidět barvy aktuálního bufferu, které se dynamicky mění. Šedé barvy představují cílovou kostku a růžová barva měnící se obličej
Zdrojový kód
github.com/mn-banjar/blindfolded2
Doporučuje:
Snadná změna barvy na základě náklonu Bezdrátová Rubikova kostka: 10 kroků (s obrázky)
Snadná změna barvy na základě náklonu Bezdrátová lampa Rubikova kostka: Dnes budeme stavět tuto úžasnou lampu ve stylu Rubikovy kostky, která mění barvu podle toho, která strana je nahoře. Kostka běží na malé baterii LiPo, nabité standardním mikro USB kabelem, a při mém testování má životnost baterie několik dní. Tento
Živý sledovač Covid19 pomocí ESP8266 a OLED - Hlavní panel Covid19 v reálném čase: 4 kroky
Živý sledovač Covid19 pomocí ESP8266 a OLED | Informační panel Realtime Covid19: Navštivte webové stránky Techtronic Harsh: http: //techtronicharsh.com Všude je obrovské ohnisko nového koronaviru (COVID19). Bylo nutné sledovat aktuální scénář COVID-19 ve světě. Když jsme tedy doma, toto byl
Nastavení DS3231 RTC (hodiny v reálném čase) přesně, rychle a automatizovaně pomocí Javy (+-1 s): 3 kroky
Přesné, rychlé a automatické nastavení DS3231 RTC (hodiny v reálném čase) pomocí Javy (+-1 s): Tento návod vám ukáže, jak nastavit čas na hodinách reálného času DS3231 pomocí Arduina a malé Java aplikace, která používá sériové připojení Arduina. Základní logika tohoto programu: 1. Arduino odesílá sériový požadavek
Výroba hodin pomocí M5stick C pomocí Arduino IDE - Hodiny RTC v reálném čase s M5stack M5stick-C: 4 kroky
Výroba hodin pomocí M5stick C pomocí Arduino IDE | Hodiny RTC v reálném čase s M5stack M5stick-C: Ahoj, v tomto návodu se naučíme, jak vyrobit hodiny s vývojovou deskou m5stick-C z m5stack pomocí Arduino IDE. Takže m5stick zobrazí datum, čas & týden v měsíci na displeji
Jak vytvořit hodiny v reálném čase pomocí Arduino a TFT displeje - Arduino Mega RTC s 3,5 palcovým TFT displejem: 4 kroky
Jak vyrobit hodiny v reálném čase pomocí Arduino a TFT displeje | Arduino Mega RTC s 3,5 palcovým TFT displejem: Navštivte můj kanál YouTube. Úvod:- V tomto příspěvku vyrobím „Hodiny v reálném čase“pomocí 3,5palcového dotykového displeje TFT LCD, Arduino Mega Modul RTC 2560 a DS3231 …. Před spuštěním … zkontrolujte video z mého kanálu YouTube..Poznámka:- Pokud používáte Arduin