Sadržaj:
Video: Rubikova kocka s povezom s povezom u stvarnom vremenu koristeći Raspberry Pi i OpenCV: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
Ovo je druga verzija Rubikovog kockastog alata za rješavanje povezanih očiju. Prvu verziju razvio je 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 niza prikazane su 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 koji navodi fiksna područja na okviru kamere za otkrivanje ispravnih boja lica kocke qbr projekt
Korak 1: Potrebne komponente
- Malina Pi
- web kamera
ili možete koristiti prijenosno računalo
Korak 2: Ovisnosti
- Python 3
- knjižnica numpy
- Knjižnica OpenCV
$ sudo apt-get install python3-opencv
Rubiks paket sa povezima
$ pip3 instalirajte Rubiks sa povezima
Korak 3: Pripreme
Morate kalibrirati otkrivanje boje kao prethodni korak. HSV kodovi boja razlikuju se zbog osvjetljenja, kvalitete kamere i razlučivosti te same boje kocke. U mom slučaju kombiniram bijelo i žuto svjetlo kako bih postigao točne rezultate.
Ažurirajte funkciju get_color_name (hsv) na colordetection.py
Izvorni izvorni kod koristi paket kociemba za rješavanje kocke, rješava pronalaskom 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 preko očiju
Korak 4: Upotreba
Nakon instaliranja svih ovisnosti i postavljanja kamere, vrijeme je za pokretanje skripte blindfolded.py
Prvo morate skenirati kocku u ispravnim smjerovima. Ovo je kockasta struktura, redoslijed skeniranja lica nije bitan. Uočite da su to zadane boje lica kocke, možete ih promijeniti ažuriranjem rječnika zapisa na skripti blindfolded.py
Za skeniranje pritisnite tipku razmaknice za spremanje prikaza i tipku ESC nakon završetka
Drugo, na konzoli možete vidjeti sekvence rješenja i provjeru pariteta kako bi vam rekli trebate li primijeniti algoritam parnosti ili ne
Treće, generirat će se novi okvir koji prikazuje 2 nacrtane kocke za niz rubova i kut. Za prebacivanje između stavki niza možete koristiti tipke sa strelicama lijevo i desno, a za prebacivanje između ruba i kuta tipke sa strelicama gore i dolje. svijetlosiva boja predstavlja trenutni slijed.
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čeni:
Kako koristiti modul sata u stvarnom vremenu (DS3231): 5 koraka
Kako koristiti modul sata u stvarnom vremenu (DS3231): DS3231 je jeftin, iznimno točan I2C sat u stvarnom vremenu (RTC) s integriranim temperaturno kompenziranim kristalnim oscilatorom (TCXO) i kristalom. Uređaj ima ulaz za bateriju i održava točno mjerenje vremena kada je glavno napajanje
Mjerač razine vode u bunaru u stvarnom vremenu: 6 koraka (sa slikama)
Mjerač razine vode u stvarnom vremenu: Ove upute opisuju kako izgraditi jeftino mjerač razine vode u stvarnom vremenu za upotrebu u iskopanim bunarima. Mjerač razine vode dizajniran je tako da visi unutar iskopanog bunara, mjeri razinu vode jednom dnevno i šalje podatke putem WiFi -a ili mobilne veze
Mjerač temperature vode, vodljivosti i razine vode u bunaru u stvarnom vremenu: 6 koraka (sa slikama)
Mjerač temperature vode, vodljivosti i razine vode u zdencu u stvarnom vremenu: Ove upute opisuju kako izgraditi jeftin mjerač vode u stvarnom vremenu za praćenje temperature, električne vodljivosti (EC) i razine vode u iskopanim bunarima. Mjerač je dizajniran da visi unutar iskopanog bunara, mjeri temperaturu vode, EC i
Iscrtavanje grafikona u stvarnom vremenu na Androidu od Arduina preko HC-05: 3 koraka
Iscrtavanje grafikona u stvarnom vremenu na Androidu od Arduina preko HC-05: Hej, evo vodiča kako iscrtati grafikon vrijednosti u stvarnom vremenu iz mikrokontrolera, poput Arduina, u aplikaciju. Koristi Bluetooth modul poput HC-05 da djeluje kao uređaj za razmjenu poruka za prijenos i primanje podataka između Ar
Obavijesti o događajima u stvarnom vremenu koristeći NodeMCU (Arduino), Google Firebase i Laravel: 4 koraka (sa slikama)
Obavijesti o događajima u stvarnom vremenu pomoću NodeMCU -a (Arduino), Google Firebase -a i Laravela: Jeste li ikada željeli biti obaviješteni kada se na vašoj web stranici izvrši neka radnja, ali e -pošta ne odgovara? Želite li čuti zvuk ili zvono svaki put kada prodajete? Ili postoji hitna potreba za hitnom pomoći