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.