Características
A OpenMV Cam é uma pequena placa de microcontrolador de baixo consumo que permite implementar facilmente aplicações utilizando visão por computador no mundo real. Programa-se a OpenMV Cam em scripts Python de alto nível (cortesia do Sistema Operativo MicroPython) em vez de C/C++. Isto facilita o tratamento dos resultados complexos dos algoritmos de visão por computador e o trabalho com estruturas de dados de alto nível. No entanto, mantém-se o controlo total sobre a sua OpenMV Cam e os seus pinos de I/O em Python. Pode facilmente acionar a captura de imagens e vídeo em eventos externos ou executar algoritmos de visão por computador para determinar como controlar os seus pinos de I/O.
A câmara OpenMV apresenta:
- RT1062Processador ARM Cortex M7 a funcionar a 600 MHz com 32 MB de SDRAM + 1 MB de SRAM e 16 MB de flash de programa/armazenamento. Todos os pinos de I/O emitem 3,3 V e são tolerantes a 3,3 V. O processador possui as seguintes interfaces de I/O:
- Uma interface USB-C de alta velocidade (480Mbs) para o seu computador. A sua OpenMV Cam aparecerá como uma Porta COM Virtual e uma Unidade Flash USB quando ligada.
- Limite de corrente de 1,5A.
- Com filtragem EMI e proteção TVS.
- Um soquete de cartão μSD capaz de leituras/escritas de 25MB/s que permite à sua câmara OpenMV tirar fotografias e retirar facilmente recursos de visão por computador do cartão μSD.
- Com filtragem EMI e proteção TVS.
- Um barramento SPI que pode operar até 60 Mb/s, permitindo-lhe transmitir facilmente dados de imagem do sistema para o LCD Shield ou para outro microcontrolador.
- Um barramento I2C (até 1Mb/s), um barramento CAN (até 1Mb/s) e um barramento serial assíncrono (TX/RX, até 20Mb/s) para interface com outros microcontroladores e sensores.
- Um ADC de 12 bits (tolerante a 3,3V).
- Três pinos de I/O para controlo de servo.
- Um pino de I/O para sincronização/acionamento de quadro (ou controlo de servo).
- Um pino de I/O para ativação de baixo consumo.
- Existe também um pino para suporte de ligar/desligar do botão de energia do dispositivo.
- Interrupções em todos os pinos de I/O (existem 14 pinos de I/O na placa).
- Um RTC integrado que continua a funcionar quando o sistema está em modo de baixo consumo (o sistema consome menos de30uAem modo de baixo consumo de energia).
- Uma luz LED RGB controlável/regulável pelo utilizador.
- Outro LED RGB para indicação de Carregamento, Alimentação USB e Alimentação VIN.
- 32 MB de SDRAM externa de 16 bits com clock de 160 MHz para uma largura de banda de 320 MB/s.
- 16 MB de memória flash quadspi de programa/armazenamento com clock de 133 MHz em modo SDR de 4 bits para uma largura de banda de 66 MB/s (velocidade de leitura).
- Um acelerómetro X/Y/Z de 12 bits (2/4/8g) centrado por baixo do módulo da câmara.
- WiFi a bordo (a/b/g/n - 11/54/65 Mb/s) e módulo Bluetooth (v5.1 - BR/EDR/BLE) com antena de chip.
- Opção de utilizar uma antena U.FL em alternativa.
- A bordo 10/100 Mb/s Ethernet.
- Tomada Ethernet com suporte PoE através de uma blindagem externa.
- Suporte de Elemento Seguro com Autenticação Criptográfica Forte através do SE050C1HQ1.
- Um sistema de módulo de câmara removível que permite à OpenMV Cam RT1062 interagir com diferentes sensores:
- OOpenMV Cam RT1062vem com umOV5640O sensor de imagem é capaz de capturar imagens de 2592x1944 (5MP). A maioria dos algoritmos simples funcionará a cerca de 40 FPS em resoluções QVGA (320x240) e inferiores. Se desejar utilizar lentes mais especializadas com o seu sensor de imagem, pode facilmente comprá-las e instalá-las por si mesmo.
- Para aplicações profissionais de visão por computador, pode comprar a nossa SingTownMT9V034 Módulo de Câmara Global ShutterSingTown.
- Para aplicações de visão por computador térmica, pode comprar a nossa SingTown.Módulo de imagem térmica infravermelha FLIR LeptonSingTown.
- Interface de bateria de iões de lítio de 3.7V, suportando carregamento da bateria via USB. Pode adquirir o nosso SingTown3.7V-1000MAH bateria de iões de lítioSingTown.
- 100 mA de Corrente de Carga Rápida
- Com Proteção TVS.
- Um Cabeçalho JTAG de 10 pinos ARM compatível com dispositivos SEGGER J-Link para depuração e programação.
- Com Filtragem EMI e Proteção TVS.
- Entrada Externa 5V VIN com proteção contra alimentação reversa.
Para mais informações, por favor visite:https://singtown.com/openmv/
Aplicações
Atualmente, a câmara OpenMV pode ser utilizada para as seguintes tarefas (mais no futuro):
- Detecção de Objetos por Rede Neural
- Pode utilizar o OpenMV para treinar redes neuronais para deteção de objetos, treinando qualquer alvo que deseje detetar. Por exemplo, diferentes números, diferentes frutas, diferentes marcadores, diferentes componentes, ou quaisquer alvos irregulares específicos podem ser treinados para identificar o número, as coordenadas e o nome do tipo de objeto dos alvos específicos.
- Pode detetar sinais de trânsito nas nossas estradas reais com base nos nossos tutoriais em vídeo, como proibição de buzinar, proibição de estacionar, limite de velocidade 80, etc./learn/50918
- Classificação por Rede Neural
- Pode utilizar o OpenMV para treinar redes neuronais para deteção de objetos, treinando qualquer alvo que deseje detetar. Por exemplo, diferentes números, diferentes frutas, diferentes marcadores, diferentes componentes, ou quaisquer alvos irregulares específicos podem ser treinados para identificar o número, as coordenadas e o nome do tipo de objeto dos alvos específicos.
- Pode classificar se uma pessoa está a usar uma máscara com base no nosso tutorial em vídeo./learn/50872
- TensorFlow Lite para Microcontroladores
- O suporte do TensorFlow Lite permite-lhe executar modelos personalizados de classificação e segmentação de imagem na OpenMV Cam. Com o TensorFlow Lite, pode facilmente classificar áreas complexas na imagem e controlar os pinos 1/0 com base no que vê.

- Algoritmo de Diferença de Quadros
- Pode utilizar o algoritmo de diferença de quadros na OpenMV Cam para detetar movimento na cena. O algoritmo de diferença de quadros pode ser aplicado em sistemas de segurança.
- Rastreamento de Cores
- Pode utilizar o OpenMV para detetar até 16 cores na imagem simultaneamente (nunca irá querer encontrar mais de 4 cores), e cada cor pode ter qualquer número de blocos de cor diferentes. O OpenMV irá informá-lo sobre a posição, tamanho, centro e direção de cada bloco de cor. Com o rastreamento de cores, a sua OpenMV Cam pode ser programada para seguir o sol, rastrear linhas, perseguir alvos e muito mais. Demonstração em vídeo:/learn/49993
- Rastreamento de Marcadores
- Pode utilizar a câmara OpenMV para detetar grupos de cores em vez de cores individuais. Isto permite-lhe colocar etiquetas de cores (etiquetas com 2 ou mais cores) em objetos, e o OpenMV irá obter o conteúdo do objeto da etiqueta.

- Detecção Facial
- Pode utilizar a câmara OpenMV (ou qualquer objeto geral) para detetar rostos. A sua câmara OpenMV pode processar modelos Haar para deteção geral de objetos e inclui modelos Haar de Rosto Frontal e de Olhos incorporados para detetar rostos e olhos./learn/50013
- Rastreamento Ocular
- Pode utilizar o rastreamento ocular para detetar a direção do olhar de alguém. Pode usá-lo para controlar robôs. O rastreamento ocular deteta a posição da pupila enquanto verifica se existem olhos na imagem.
- Detecção de Pessoas
- Pode utilizar o detector de pessoas incorporado (modelo TensorFlow Lite) para detetar se há pessoas no campo de visão.
- Fluxo Óptico
- Pode utilizar fluxo óptico para detetar a cena em frente da sua câmara OpenMV. Por exemplo, pode usar fluxo óptico num quadricóptero para controlar a estabilidade no ar.
- Detecção/Descodificação de Código QR
- Pode utilizar a câmara OpenMV para ler códigos QR no seu campo de visão. Com a deteção/descodificação de códigos QR, pode permitir que robôs inteligentes leiam etiquetas no ambiente.
- Detecção/Descodificação de Matriz de Dados
- A câmara OpenMV também pode detetar e descodificar Data Matrix (códigos de barras 2D). Pode ver o nosso vídeo aqui.
- Descodificação de Código de Barras Linear
- A câmara OpenMV também pode processar códigos de barras 1D. Pode descodificar EAN2, EAN5, EAN8, UPCE, ISBN10, UPCA, EAN13, ISBN13, I25, DATABAR, DATABAR_EXP, CODABAR, CODE39, CODE93 e CODE128. Veja o nosso vídeo aqui:/learn/50017
- Rastreamento AprilTag
- Melhor ainda do que o código QR acima, a OpenMV Cam também pode rastrear AprilTags. Os AprilTags são marcadores fiduciais de última geração que são invariantes à rotação, invariantes à escala, invariantes ao cisalhamento e invariantes à iluminação. Veja o nosso vídeo aqui:/learn/49590
- Detecção de Linhas
- A câmara OpenMV pode completar rapidamente a deteção de linhas de comprimento infinito a uma taxa de quase todos os quadros. Também pode encontrar segmentos de linha de comprimento não infinito. Veja o nosso vídeo aqui:/learn/50009
- Detecção de Círculos
- Pode facilmente detetar círculos na imagem utilizando o OpenMV.
- Detecção de Retângulo
- O OpenMV também pode detetar retângulos, utilizando o código de deteção de quadrados da biblioteca AprilTag.
- Correspondência de Modelos
- Pode utilizar a correspondência de modelos OpenMV para detetar se existem imagens semelhantes a modelos no campo de visão. Por exemplo, a correspondência de modelos pode ser usada para encontrar marcas em PCBs ou ler números conhecidos em ecrãs.
- Captura de Imagem
- Pode utilizar o OpenMV para capturar imagens RGB565/escala de cinzento BMP/JPG/PPM/PGM. Pode controlar diretamente como capturar imagens em scripts Python. Mais importante ainda, utilizando algoritmos de visão computacional, pode desenhar linhas, desenhar caracteres e depois guardá-los.
- Gravação de Vídeo
- Pode utilizar a câmara OpenMV para gravar vídeos MJPEG RGB565/escala de cinzentos ou imagens GIF (ou vídeos RAW). Pode controlar diretamente como cada fotograma de vídeo é gravado em scripts Python e ter controlo total sobre o início e o fim da gravação de vídeo. Além disso, tal como na captura de imagens, pode utilizar algoritmos de visão computacional para desenhar linhas, desenhar caracteres e, em seguida, guardá-los.
Finalmente, todas as funções acima podem ser combinadas com o controlo de pinos de IO para corresponder às suas aplicações personalizadas e interagir com o mundo real.