Taula de continguts:
Vídeo: Solucionador de ulls tapats de Rubik's Cube en temps real amb Raspberry Pi i OpenCV: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:10
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
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:
Q-Bot: el solucionador de cubs de codi obert de Rubik: 7 passos (amb imatges)
Q-Bot: el solucionador de cubs de codi obert de Rubik: imagineu-vos que teniu un cub de Rubik remenat, ja sabeu que el trencaclosques dels anys 80 té tothom, però ningú no sap resoldre-ho i voleu tornar-lo al patró original. Per sort, avui en dia és molt fàcil trobar instruccions per resoldre
Fer un rellotge amb M5stick C mitjançant Arduino IDE - Rellotge RTC en temps real amb M5stack M5stick-C: 4 passos
Fer un rellotge amb M5stick C mitjançant Arduino IDE | Rellotge en temps real RTC amb M5stack M5stick-C: Hola, nois en aquest instructable, aprendrem a fer un rellotge amb la placa de desenvolupament m5stick-C de m5stack mitjançant Arduino IDE. Així, m5stick mostrarà data, hora i amp; setmana del mes a la pantalla
Com fer un rellotge en temps real amb la pantalla Arduino i TFT - Arduino Mega RTC amb pantalla TFT de 3,5 polzades: 4 passos
Com fer un rellotge en temps real amb pantalla Arduino i TFT | Arduino Mega RTC amb pantalla TFT de 3,5 polzades: visiteu el meu canal de Youtube. Introducció: - En aquest post vaig a fer "Rellotge en temps real" amb LCD TFT tàctil de 3,5 polzades, Arduino Mega Mòdul RTC 2560 i DS3231 … Abans de començar … comproveu el vídeo del meu canal de YouTube … Nota: - Si utilitzeu Arduin
Registre de dades MPU-6050 / A0 en temps real amb Arduino i Android: 7 passos (amb imatges)
Registre de dades MPU-6050 / A0 en temps real amb Arduino i Android: m'ha interessat utilitzar l'Arduino per a l'aprenentatge automàtic. Com a primer pas, vull crear una pantalla i registre de dades en temps real (o bastant a prop) amb un dispositiu Android. Vull capturar dades de l’acceleròmetre de la MPU-6050, així que dissenyo
Detecció de cares i ulls amb Raspberry Pi Zero i Opencv: 3 passos
Detecció de cares i ulls amb Raspberry Pi Zero i Opencv: en aquest instructiu us mostraré com podeu detectar la cara i els ulls amb raspberry pi i opencv. Aquest és el meu primer instructable a opencv. Vaig seguir molts tutorials per configurar cv obert a gerds, però cada cop em vaig trobar amb alguns errors. De tota manera jo