Taula de continguts:

Solucionador de ulls tapats de Rubik's Cube en temps real amb Raspberry Pi i OpenCV: 4 passos
Solucionador de ulls tapats de Rubik's Cube en temps real amb Raspberry Pi i OpenCV: 4 passos

Vídeo: Solucionador de ulls tapats de Rubik's Cube en temps real amb Raspberry Pi i OpenCV: 4 passos

Vídeo: Solucionador de ulls tapats de Rubik's Cube en temps real amb Raspberry Pi i OpenCV: 4 passos
Vídeo: 🌻 ЛЕГЕНДА КАБАЧОК ВЕРНУЛСЯ 🧟 Plants vs Zombies 3 (Растения Против Зомби 3) Прохождение 2024, De novembre
Anonim

Aquesta és la segona versió de l’eina cub de Rubik creada per resoldre amb els ulls embenats. La primera versió va ser desenvolupada per javascript, podeu veure el projecte RubiksCubeBlindfolded1

A diferència de l'anterior, aquesta versió utilitza la biblioteca OpenCV per detectar els colors i introduir les entrades i proporciona una millor tècnica de visualització.

El problema més important d'aquesta versió més recent és la visualització de les sortides, els elements de seqüència es mostren al cub dibuixat 1 alhora. Com que el cub té una forma 3D, és difícil mostrar tots els laterals alhora. Vegeu els resultats al vídeo de YouTube del meu canal de YouTube

Estic fent servir un cub sense adhesius, necessita un reconeixement personalitzat i la majoria de codis de codi obert no són compatibles. He utilitzat aquest codi obert desenvolupat per Kim Koomen que especifica zones fixes al marc de la càmera per detectar els colors correctes del projecte qbr de cares de cub

Pas 1: components necessaris

  • Raspberry Pi
  • càmera web

o podeu utilitzar el vostre ordinador portàtil

Pas 2: dependències

  • Python 3
  • biblioteca numpy
  • Biblioteca OpenCV

$ sudo apt-get install python3-opencv

Paquet de Rubiks amb els ulls embenats

$ pip3 instal·la RubiksBlindfolded

Pas 3: Preparatius

Cal calibrar la detecció de color com a pas previ. Els codis de color HSV varien a causa de la il·luminació, la qualitat i la resolució de la càmera i els colors del cub. En el meu cas, combino llums blanques i grogues per obtenir resultats correctes.

Actualitzeu la funció get_color_name (hsv) a colordetection.py

El codi font original utilitza el paquet kociemba per resoldre el cub, es resol trobant els passos inversos de qualsevol barreja. En aquesta versió, he utilitzat el meu propi paquet de resolució anomenat RubiksBlindfolded publicat a PyPI. Consulteu la descripció per saber-ne utilitzar RubiksBlindfolded

Pas 4: Ús

Ús
Ús
Ús
Ús

Després d’instal·lar totes les dependències i configurar la càmera, és el moment d’executar un script blindfolded.py

En primer lloc, heu d’escanejar el cub en les orientacions correctes. Aquesta és l’estructura del cub, l’ordre d’escaneig de les cares no és important. Tingueu en compte que aquests són els colors predeterminats de les cares del cub. Podeu canviar-los actualitzant el diccionari de notació de l'script amb els ulls embenats.

Per fer l'escaneig, premeu la tecla espaiadora per desar la vista i la tecla ESC després d'acabar

En segon lloc, podeu veure les seqüències de solucions a la consola i la comprovació de la paritat per indicar-vos si heu d'aplicar l'algorisme de paritat o no.

En tercer lloc, es generarà un nou marc que mostrarà dos cubs dibuixats per a la seqüència de vores i la seqüència de cantonada. Podeu utilitzar les tecles de fletxa esquerra i dreta per canviar entre els elements de seqüència i les tecles de fletxa amunt i avall per canviar entre la vora i la cantonada. el color gris clar representa la seqüència actual.

Podeu veure els colors del buffer actual que canvien dinàmicament mitjançant les tecles de fletxa. Els colors grisos representen el cubie objectiu i el color rosa la cara d’intercanvi

Codi font

github.com/mn-banjar/blindfolded2

Recomanat: