v1.6.0#

A v1.6.0 concentra-se no registro da OpenMV Cam e em um fluxo de trabalho de visão de máquina mais rico: a IDE agora detecta câmeras não registradas na conexão, ganha um Threshold Editor integrado ao editor de código, adiciona painéis recolhíveis e avança o firmware incluído de 2.3.0 para 2.4.1 (adicionando detecção de linhas pelo caminho). Ela continua acompanhando o Qt Creator 4.0.2 sem rebase. Há uma quebra visível ao usuário: conectar uma câmera não registrada agora solicita uma chave de placa a cada conexão (veja Mudanças incompatíveis).

Destaques#

  • O registro da OpenMV Cam agora é detectado na conexão: a IDE consulta a arquitetura da placa, verifica a placa/ID em openmv.io e solicita ao usuário que registre a câmera com uma chave de placa.

  • Firmware incluído 2.4.1 para câmeras OMV2 (M4) e OMV3 (M7) adiciona detecção de linhas (find_lines / find_line_segments via uma transformada de Hough) e um novo objeto de resultado image.match_descriptor na versão 2.4.0; o firmware 2.4.1 vem em seguida com a renomeação da API de operações binárias.

  • Integração do Threshold Editor: clicar com o botão direito em uma tupla de limiar em escala de cinza ou LAB selecionada no editor abre o Threshold Editor pré-carregado com esses valores e grava a tupla ajustada de volta no código-fonte ao fechar.

  • Painéis recolhíveis: os painéis do frame buffer e do terminal serial ganharam botões de gaveta que ocultam e reexibem um painel e restauram seu estado a partir das configurações.

  • A barra de título do Live Frame Buffer agora mostra a resolução atual e a ROI selecionada, e o frame buffer desabilitado exibe uma sobreposição em seu lugar.

Novos recursos#

  • O registro da OpenMV Cam é detectado na conexão. A IDE consulta a arquitetura da placa e verifica a placa/ID em openmv.io (openmv-swd-ids-check.php / openmv-swd-ids-register.php), solicitando ao usuário que registre a câmera com uma chave de placa. Está incluído um diálogo de registro com um hyperlink de compra funcional, exibição de progresso e tratamento de erros (c61052eb3, 9fa8a253e).

  • Threshold Editor a partir do editor: clicar com o botão direito em um limiar (g_min, g_max) em escala de cinza selecionado ou em uma sêxtupla de limiar LAB oferece uma ação Edit … threshold with Threshold Editor que abre o editor pré-carregado com esses valores e atualiza a tupla no código-fonte ao fechar (3d12e6ee7, 992d3bdf8).

  • Painéis recolhíveis: os painéis do frame buffer e do terminal serial ganharam botões de gaveta superior/inferior/esquerdo/direito que ocultam e reexibem um painel e restauram seu estado a partir das configurações (abaf628ff, 7461e3b55, b51faa8f5).

  • Resolução e ROI em tempo real na barra de título do Frame Buffer, por exemplo Frame Buffer - Res (w:.., h:..) - ROI (x:.., y:.., w:.., h:..) (992d3bdf8).

  • As entradas DataMatrix Generator e Barcode Generator foram adicionadas ao menu Machine Vision Tools, cada uma abrindo uma busca na web do Google por um gerador online (bf284997b).

Outras mudanças e melhorias#

  • Quando o frame buffer está desabilitado, uma sobreposição centralizada Frame Buffer Disabled - click the disable button again to enable (top right) agora é exibida em seu lugar (bf284997b).

  • O Threshold Editor agora persiste e restaura o estado de seus controles deslizantes (valores de combo/inversão/mín-máx) entre sessões, não apenas a geometria da janela (bf284997b).

  • Reformulado o realce de sintaxe Python para colorir melhor nomes de classes/funções/métodos/argumentos OpenMV e palavras-chave de importação no editor e no terminal (38c00e5a2, 7461e3b55).

  • Colar no terminal serial agora envia os bytes da área de transferência um caractere por vez e insere um intervalo de 1ms entre pacotes serial/UDP/TCP de saída para que o REPL do MicroPython não seja estourado, e CR e LF são emitidos separadamente ao pressionar Enter (c61052eb3).

  • O autocompletar de membros agora é acionado ao digitar . após um colchete de fechamento como ), ] ou }, de modo que as conclusões apareçam após chamadas de função e subscritos (9fa8a253e).

Correções de bugs#

  • Corrigido o diálogo de registro de SWD-ID da OpenMV Cam para que Cancelar e a conclusão da solicitação o fechem de forma confiável, em vez de depender de um código de resultado obtido por conversão de ponteiro (6599856c4).

  • Corrigida a correspondência de firmware para placas registradas, removendo o token de registro [board:id] da string de arquitetura antes de consultá-la na tabela de mapeamentos de firmware (a1be146f1).

  • Corrigida uma regressão de registro em que o tratamento de sucesso/erro nunca era executado devido a uma verificação de cancelamento invertida e a um regex de board-id sem escape, e que pulava a verificação de registro para câmeras baseadas em M4 (9fa8a253e).

  • Desabilitada a fiação da barra lateral de navegação esquerda do Qt Creator upstream para corrigir o widget de navegação no layout OpenMV (bf284997b).

Suporte de plataforma e ferramentas#

  • Base do Qt Creator: 4.0.2.

  • Firmware OpenMV incluído: avançado de 2.3.0 -> 2.4.1 para câmeras OMV2 (M4) e OMV3 (M7) em duas etapas. A etapa 2.3.0 -> 2.4.0 adicionou detecção de linhas (find_lines / find_line_segments via uma transformada de Hough), um novo objeto de resultado image.match_descriptor / kptmatch, exemplos de decodificação DataMatrix (find_datamatrices.py / find_datamatrices_w_lens_zoom.py), exemplos find_lines.py / find_line_segments.py e um método sensor.set_vsync_output() (f0cd4d75c). A etapa 2.4.0 -> 2.4.1 adicionou as novas operações lógicas E/OU de imagem b_and / b_or e renomeou nand / nor / xor / xnor para b_nand / b_nor / b_xor / b_xnor (os nomes antigos são mantidos como aliases) (4fc16559e).

  • Drivers do Windows: reformulados os scripts de comando de instalação dos drivers DfuSe / FTDI / OpenMV / PybCDC e incluídos os binários, DLLs e redistribuíveis VC dos drivers DfuSe e FTDI/OpenMV/PybCDC anteriormente ausentes e necessários para a instalação (b51faa8f5, c2633fc04, 4fc16559e).

Mudanças incompatíveis#

Conectar uma OpenMV Cam que openmv.io relata como não registrada agora dispara até três solicitações pedindo ao usuário que insira uma chave de placa, repetindo a cada conexão até que a câmera seja registrada. Placas baseadas em M4 estão isentas dessa verificação. A renomeação das operações binárias de imagem no firmware 2.4.1 é compatível com versões anteriores, já que os nomes de método antigos nand / nor / xor / xnor permanecem disponíveis como aliases.