Comece rapidamente em 10 minutos
Tutorial em vídeo 1 - Introdução ao OpenMV: https://singtown.com/learn/688
Tutorial em vídeo 2 - Introdução ao unboxing: https://singtown.com/learn/49985
Tutorial em vídeo 3 - Instalação e utilização de drivers e IDEs: https://singtown.com/learn/49989/
Baixar software
Endereço do site oficial da China: http://openmv.cc (clicar em download do software)
Endereço de download do site oficial dos EUA: https://openmv.io/pages/download
Windows
Após o download, continue a clicar em Seguinte e a instalação será concluída normalmente.\
Se não existir nenhuma janela de imagem, esta pode ser arrastada do lado direito.
Instalar driver
Ligue o OpenMV ao computador.\ Em circunstâncias normais, o driver será instalado automaticamente,nada precisa de ser instalado manualmente. No Gestor de Dispositivos verá:
Mas talvez em alguns computadores o driver não seja instalado automaticamente.\ Neste momento, irá aparecer um ponto de exclamação no gestor de dispositivos, indicando que o controlador não foi instalado corretamente.
Neste momento, precisa de instalá-lo manualmente.\ Primeiro descarregue o driver: https://dl.singtown.com/openmv/openmv_windows driver.zip
Descomprima-o na área de trabalho, clique com o botão direito do rato no dispositivo no gestor de dispositivos e clique em Atualizar controlador:
Falha na instalação do controlador do Windows
Se acontecer o seguinte (raramente acontece, é uma avaria do computador):\
A instalação do controlador OpenMV falha em 90% dos casos, é geralmente um problema do computador. A solução do driver OpenMV é semelhante ao Arduino.
Isto é causado pela versão simplificada do sistema de janelas, excluindo algumas informações invulgares do controlador.
Referência de avaria:\ https://forum.singtown.com/topic/230
Por fim, sugestões:
- Quando comprar um computador, compre um computador com sistema operativo original.
- Ative o Windows Update (está ativado por defeito, não o desligue).
- Mesmo que utilize um sistema pirata, descarregue a versão pura e completa no MSDN.
- Nunca utilize o Ghost para instalar o sistema! 90% dos problemas de drivers são causados pelo Ghost.
MacOS
Após descarregar o software IDE, clique duas vezes no instalador. Continue a clicar em Avançar.
Se disser Apenas a App Store e os programas aprovados podem ser instalados
,
defina-o como Qualquer fonte
em Segurança e Privacidade.\
Ubuntu
O Ubuntu precisa de dar permissões aos ficheiros descarregados. Em seguida, clique duas vezes para instalar.
Corra, olá mundo!
Primeiro certifique-se que o IDE e o driver estão instalados normalmente.
Ligue o OpenMV ao computador através do cabo USB e uma unidade flash USB aparecerá
Abra o IDE OpenMV.
Concentre-se nesta imagem.
- Clique em
Ligar
- De seguida, clique em
Executar
A imagem é apresentada corretamente na janela de imagem no canto superior
direito.\
Clique em Terminal série na parte inferior e será apresentada uma janela de
terminal.\
Ao mesmo tempo, os dados serão sempre impressos no Terminal Serial. É o
resultado da execução do print(clock.fps())
na linha 17 do código.
Acompanhe a bola
Apague todo o conteúdo da caixa de edição e substitua-o pelo seguinte código:
# 色块监测 例子
#
# 这个例子展示了如何通过find_blobs()函数来查找图像中的色块
# 这个例子查找的颜色是深绿色
import sensor, image, time
# 颜色追踪的例子,一定要控制环境的光,保持光线是稳定的。
green_threshold = ( 0, 80, -70, -10, -0, 30)
#设置绿色的阈值,括号里面的数值分别是L A B 的最大值和最小值(minL, maxL, minA,
# maxA, minB, maxB),LAB的值在图像左侧三个坐标图中选取。如果是灰度图,则只需
#设置(min, max)两个数字即可。
sensor.reset() # 初始化摄像头
sensor.set_pixformat(sensor.RGB565) # 格式为 RGB565.
sensor.set_framesize(sensor.QQVGA) # 使用 QQVGA 速度快一些
sensor.skip_frames(time = 2000) # 跳过2000s,使新设置生效,并自动调节白平衡
sensor.set_auto_gain(False) # 关闭自动自动增益。默认开启的,在颜色识别中,一定要关闭白平衡。
sensor.set_auto_whitebal(False)
#关闭白平衡。白平衡是默认开启的,在颜色识别中,一定要关闭白平衡。
clock = time.clock() # 追踪帧率
while(True):
clock.tick() # Track elapsed milliseconds between snapshots().
img = sensor.snapshot() # 从感光芯片获得一张图像
blobs = img.find_blobs([green_threshold])
#find_blobs(thresholds, invert=False, roi=Auto),thresholds为颜色阈值,
#是一个元组,需要用括号[ ]括起来。invert=1,反转颜色阈值,invert=False默认
#不反转。roi设置颜色识别的视野区域,roi是一个元组, roi = (x, y, w, h),代表
#从左上顶点(x,y)开始的宽为w高为h的矩形区域,roi不设置的话默认为整个图像视野。
#这个函数返回一个列表,[0]代表识别到的目标颜色区域左上顶点的x坐标,[1]代表
#左上顶点y坐标,[2]代表目标区域的宽,[3]代表目标区域的高,[4]代表目标
#区域像素点的个数,[5]代表目标区域的中心点x坐标,[6]代表目标区域中心点y坐标,
#[7]代表目标颜色区域的旋转角度(是弧度值,浮点型,列表其他元素是整型),
#[8]代表与此目标区域交叉的目标个数,[9]代表颜色的编号(它可以用来分辨这个
#区域是用哪个颜色阈值threshold识别出来的)。
if blobs:
#如果找到了目标颜色
for b in blobs:
#迭代找到的目标颜色区域
# Draw a rect around the blob.
img.draw_rectangle(b[0:4]) # rect
#用矩形标记出目标颜色区域
img.draw_cross(b[5], b[6]) # cx, cy
#在目标颜色区域的中心画十字形标记
print(clock.fps()) # 注意: 你的OpenMV连到电脑后帧率大概为原来的一半
#如果断开电脑,帧率会增加
Depois de executar o programa
Este programa irá procurar amostras de cores com base no limite verde_limiar.
Alterar limite
Então, como é que você mesmo altera esse limite? Como sabemos o limite de cor do nosso objeto?
- Para os itens da lista digital, primeiro encontre a cor alvo na câmara, clique com o botão esquerdo do rato na cor alvo no framebuffer para circular um retângulo
- No diagrama de coordenadas abaixo do framebuffer, selecione LAB Color Space.
- Os três diagramas de coordenadas representam respetivamente os valores LAB das cores na área retangular circulada,Isto é(0, 60, -70, -10, -0, 30)
sistema de ficheiros
O sistema de ficheiros é uma funcionalidade particularmente excelente do OpenMV (ou MicroPython). O que é um sistema de ficheiros? Simplificando, várias pastas e ficheiros estão organizados numa estrutura de árvore. E pode usar caminhos no código para ler ficheiros, criar ficheiros, etc.
Executar offline
Anexo 2 do tutorial em vídeo - operação offline: https://singtown.com/video
Então aqui está o problema? Qual a utilidade do sistema de ficheiros com suporte OpenMV?
A resposta é bastante conveniente!\ O OpenMV virtualiza o Flash integrado num sistema de ficheiros. Quando introduz o OpenMV no computador, o computador irá exibir uma unidade flash USB! No seu interior está o sistema de ficheiros OpenMV. Quando quiser gravar firmware, copie o ficheiro de script directamente para o main.py a partir deste "disco U". Cada vez que for ligado, o OpenMV executará automaticamente o main.py interno, conseguindo assim o funcionamento offline.
Download com um clique
Na barra de ferramentas, clique em Guardar o script aberto em OpenMV Cam (como
main.py)
e o IDE guardará automaticamente o ficheiro actual em main.py, o que é
muito conveniente.
distribuído por
O OpenMV possui duas fontes de alimentaçãoEntrada:
- VIN(por vezes também identificado como VCC)
- Entrada USB
A entrada VIN é de 3,6 V ~ 5 V, recomenda-se 5 V.\ USB e VIN podem ser alimentados simultaneamente.
O OpenMV tem uma fonte de alimentaçãoSaída:
- 3,3 V, esta tensão é emitida pelo regulador de tensão OpenMV e é utilizada para alimentar outros sensores. Nota: Não forneça 3,3 V diretamente sem a proteção do chip interno, queimará facilmente.
Cartão SD
E daí se o meu código tiver 100.000 linhas e o flash incorporado não for suficiente? O que devo fazer se quiser guardar a imagem?
A resposta é: pode usar um cartão SD!
Então, como usar o cartão SD? O cartão SD é também um sistema de ficheiros
Quando a alimentação é ligada, se o cartão SD for inserido, o sistema de
ficheiros do cartão SD substituirá automaticamente o sistema de ficheiros Flash
integrado sempre que a alimentação for ligada, principal. main.py
no cartão
SD. La, não é muito intuitivo e conveniente? O cartão SD suporta uma capacidade
máxima de 32G.