Tabla de contenido:
Video: Solucionador con los ojos vendados del cubo de Rubik en tiempo real con Raspberry Pi y OpenCV: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Esta es la segunda versión de la herramienta del cubo de Rubik hecha para resolver con los ojos vendados. La 1ra versión fue desarrollada por javascript, puedes ver el proyecto RubiksCubeBlindfolded1
A diferencia de la anterior, esta versión utiliza la biblioteca OpenCV para detectar los colores e ingresar las entradas, y proporciona una mejor técnica de visualización.
El mayor problema en esta versión más reciente es la visualización de resultados, los elementos de secuencia se muestran en el cubo dibujado de uno en uno. Dado que el cubo tiene una forma 3D, es difícil mostrar todos los lados al mismo tiempo. Ver los resultados en mi canal de YouTube video de YouTube
Estoy usando un cubo sin pegatinas, esto necesita un reconocimiento personalizado y la mayoría de los códigos de fuente abierta no son compatibles. Usé este código abierto desarrollado por Kim Koomen que especifica áreas fijas en el marco de la cámara para detectar los colores correctos de las caras del cubo. Proyecto qbr.
Paso 1: componentes necesarios
- Frambuesa pi
- cámara web
o puedes usar tu laptop
Paso 2: dependencias
- Python 3
- biblioteca numpy
- Biblioteca OpenCV
$ sudo apt-get install python3-opencv
Paquete Rubiks Blindfolded
$ pip3 instalar Rubiks con los ojos vendados
Paso 3: Preparativos
Debe calibrar la detección de color como paso previo. Los códigos de color HSV varían debido a la iluminación, la calidad y resolución de la cámara y los colores del cubo en sí. En mi caso, combino luces blancas y amarillas para obtener resultados correctos.
Actualizar la función get_color_name (hsv) en colordetection.py
El código fuente original usa el paquete kociemba para resolver el cubo, lo resuelve encontrando los pasos inversos de cualquier codificación. En esta versión, utilicé mi propio paquete de resolución llamado RubiksBlindfolded que se publicó en PyPI. Vea la descripción para saber cómo usarlo RubiksBlindfolded
Paso 4: uso
Después de instalar todas las dependencias y configurar su cámara, este es el momento de ejecutar el script blindfolded.py
Primero, necesita escanear su cubo en las orientaciones correctas. Esta es la estructura del cubo, el orden de escaneo de las caras no es importante. Tenga en cuenta que estos son los colores predeterminados de las caras del cubo, puede cambiarlos actualizando el diccionario de notación en el script blindfolded.py
Para hacer el escaneo presione la tecla de espacio para guardar la vista y la tecla ESC después de terminar
En segundo lugar, puede ver las secuencias de solución en la consola y la verificación de paridad para indicarle si necesita aplicar el algoritmo de paridad o no.
En tercer lugar, se generará un nuevo marco que muestra 2 cubos dibujados para la secuencia de bordes y la secuencia de esquinas. Puede utilizar las teclas de flecha izquierda y derecha para cambiar entre los elementos de la secuencia, y las teclas de flecha arriba y abajo para cambiar entre el borde y la esquina. el color gris claro representa la secuencia actual.
Puede ver los colores del búfer actual que están cambiando dinámicamente mediante las teclas de flecha. Los colores grises representan el cubículo de destino y el color rosa representa la cara de intercambio
Código fuente
github.com/mn-banjar/blindfolded2
Recomendado:
Calabaza de Halloween con un ojo animatrónico en movimiento - ¡Esta calabaza puede poner los ojos en blanco !: 10 pasos (con imágenes)
Calabaza de Halloween con un ojo animatrónico en movimiento | ¡Esta calabaza puede rodar sus ojos !: En este Instructable, aprenderás cómo hacer una calabaza de Halloween que aterroriza a todos cuando sus ojos se mueven. Ajusta la distancia de disparo del sensor ultrasónico al valor correcto (paso 9), y tu calabaza petrificará a cualquiera que se atreva a tomar cand
Cómo hacer un registrador de datos en tiempo real de humedad y temperatura con Arduino UNO y tarjeta SD - Simulación del registrador de datos DHT11 en Proteus: 5 pasos
Cómo hacer un registrador de datos en tiempo real de humedad y temperatura con Arduino UNO y tarjeta SD | Simulación del registrador de datos DHT11 en Proteus: Introducción: hola, soy Liono Maker, aquí está el enlace de YouTube. Estamos haciendo un proyecto creativo con Arduino y trabajamos en sistemas embebidos. Data-Logger: Un registrador de datos (también registrador de datos o registrador de datos) es un dispositivo electrónico que registra datos a lo largo del tiempo w
Q-Bot: el solucionador de cubos de Rubik de código abierto: 7 pasos (con imágenes)
Q-Bot: el solucionador de cubos de Rubik de código abierto: imagina que tienes un cubo de Rubik revuelto, conoces ese rompecabezas de los 80 que todo el mundo tiene pero nadie sabe realmente cómo resolverlo y quieres devolverlo a su patrón original. Afortunadamente en estos días es muy fácil encontrar instrucciones de resolución
Programa MicroPython: Actualice los datos de la enfermedad por coronavirus (COVID-19) en tiempo real: 10 pasos (con imágenes)
Programa MicroPython: Actualización de los datos de la enfermedad por coronavirus (COVID-19) en tiempo real: En las últimas semanas, el número de casos confirmados de enfermedad por coronavirus (COVID 19) en todo el mundo ha superado los 100.000, y la organización mundial de la salud (OMS) ha declarado el El nuevo brote de neumonía por coronavirus será una pandemia mundial. Fui muy
Detección de rostros y ojos con Raspberry Pi Zero y Opencv: 3 pasos
Detección de rostros y ojos con Raspberry Pi Zero y Opencv: en este instructivo, voy a mostrar cómo puedes detectar rostros y ojos usando raspberry pi y opencv. Este es mi primer instructable en opencv. Seguí muchos tutoriales para configurar un CV abierto en frambuesa, pero siempre me encontré con algunos errores. De todos modos yo