Índice:
Vídeo: Solver de olhos vendados do cubo de Rubik em tempo real usando Raspberry Pi e OpenCV: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:34
Esta é a 2ª versão da ferramenta de cubo de Rubik feita para resolver com os olhos vendados. A 1ª versão foi desenvolvida por javascript, você pode ver o projeto RubiksCubeBlindfolded1
Ao contrário da anterior, esta versão usa a biblioteca OpenCV para detectar as cores e inserir as entradas, e fornece uma melhor técnica de visualização.
O maior problema nesta versão mais recente é a visualização das saídas, os itens da sequência são exibidos no cubo desenhado um de cada vez. Como o cubo é uma forma 3D, é difícil exibir todos os lados ao mesmo tempo. Veja os resultados no meu canal no YouTube, vídeo no YouTube
Estou usando um cubo sem adesivo, que precisa de um reconhecimento personalizado e a maioria dos códigos-fonte abertos não são compatíveis. Eu usei este código aberto desenvolvido por Kim Koomen que especifica áreas fixas no quadro da câmera para detectar as cores corretas do projeto qbr das faces do cubo
Etapa 1: componentes necessários
- Raspberry Pi
- Webcam
ou você pode usar seu laptop
Etapa 2: Dependências
- Python 3
- biblioteca entorpecida
- Biblioteca OpenCV
$ sudo apt-get install python3-opencv
Pacote RubiksBlindfolded
$ pip3 install RubiksBlindfolded
Etapa 3: preparações
Você precisa calibrar a detecção de cores como uma etapa prévia. Os códigos de cores HSV variam devido à iluminação, qualidade e resolução da câmera e às próprias cores do cubo. No meu caso, eu combino as luzes branca e amarela para obter resultados corretos.
Atualize a função get_color_name (hsv) em colordetection.py
O código-fonte original usa o pacote kociemba para resolver o cubo, ele resolve encontrando as etapas reversas de qualquer embaralhamento. Nesta versão, usei meu próprio pacote de solução chamado RubiksBlindfolded que foi publicado no PyPI. Veja a descrição para saber como usá-lo. RubiksBlindfolded
Etapa 4: uso
Depois de instalar todas as dependências e configurar sua câmera, é hora de executar o script blindfolded.py
Primeiro, você precisa escanear seu cubo nas orientações corretas. Esta é a estrutura do cubo, a ordem de digitalização das faces não é importante. Observe que essas são as cores padrão das faces do cubo, você pode alterá-las atualizando o dicionário de notação no script blindfolded.py
Para fazer a varredura, pressione a tecla de espaço para salvar a visualização e a tecla ESC após terminar
Em segundo lugar, você pode ver as sequências de solução no console e a verificação de paridade para dizer se você precisa aplicar o algoritmo de paridade ou não
Terceiro, um novo quadro será gerado que exibe 2 cubos desenhados para a sequência de arestas e sequência de cantos. Você pode usar as teclas de seta para a esquerda e direita para alternar entre os itens da sequência e as setas para cima e para baixo para alternar entre a borda e o canto. a cor cinza claro representa a sequência atual.
Você pode ver as cores do buffer atual que estão mudando dinamicamente pelas teclas de seta. As cores cinza representam o cubículo de destino e a cor rosa representa a face de troca
Código fonte
github.com/mn-banjar/blindfolded2
Recomendado:
Reconhecimento de dispositivo em tempo real usando pegadas EM: 6 etapas
Reconhecimento de dispositivo em tempo real usando pegadas EM: Este dispositivo se destina a classificar diferentes dispositivos eletrônicos de acordo com seus sinais EM. Para diferentes dispositivos, eles têm diferentes sinais EM emitidos por ele. Desenvolvemos uma solução IoT para identificar os dispositivos eletrônicos usando o Particle
Rastreador Covid19 ao vivo usando ESP8266 e OLED - Painel Covid19 em tempo real: 4 etapas
Rastreador Covid19 ao vivo usando ESP8266 e OLED | Painel Covid19 em tempo real: Visite o site da Techtronic Harsh: http: //techtronicharsh.comE em todos os lugares onde há um grande surto do novo vírus Corona (COVID19). Tornou-se necessário ficar de olho no cenário atual do COVID-19 no Mundo. Então, estando em casa, esse era o p
Relógio de tempo real usando AT89s52: 3 etapas
Relógio de tempo real usando AT89s52: BEM-VINDO, Aqui é shubham Trivedi e hoje vou projetar o relógio de tempo real usando o microcontrolador At89s52. O microcontrolador AT89S52 é o coração deste projeto. DS1307 IC é usado como RTC. Este DS1307 IC exigia interface I2C, mas 89
Robô SCARA: Aprendendo sobre cinemática progressiva e inversa !!! (Plot Twist Aprenda a fazer uma interface em tempo real no ARDUINO usando PROCESSING !!!!): 5 etapas (com imagens)
Robô SCARA: Aprendendo sobre cinemática progressiva e inversa !!! (Plot Twist Aprenda a fazer uma interface em tempo real no ARDUINO usando PROCESSING !!!!): Um robô SCARA é uma máquina muito popular no mundo da indústria. O nome significa Braço do robô de montagem compatível com seletiva ou Braço do robô articulado com conformidade seletiva. É basicamente um robô de três graus de liberdade, sendo os dois primeiros displ
Detecção de rosto e olhos com Raspberry Pi Zero e Opencv: 3 etapas
Detecção de rosto e olhos com Raspberry Pi Zero e Opencv: Neste instrutível, vou mostrar como você pode detectar rosto e olhos usando raspberry pi e opencv. Este é o meu primeiro instrutível no opencv. Eu segui muitos tutoriais para configurar o cv aberto no framboesa, mas todas as vezes encontrei alguns erros. De qualquer forma eu