v1.6.0

v1.6.0 koncentruje się na rejestracji OpenMV Cam oraz bogatszym przepływie pracy wizji maszynowej: IDE wykrywa teraz niezarejestrowane kamery przy połączeniu, zyskuje Edytor progów zintegrowany z edytorem kodu, dodaje zwijane panele oraz podnosi dołączone oprogramowanie układowe z 2.3.0 do 2.4.1 (dodając przy okazji wykrywanie linii). Nadal bazuje na Qt Creator 4.0.2 bez rebase. Występuje jedna zmiana widoczna dla użytkownika: podłączenie niezarejestrowanej kamery powoduje teraz monit o klucz płytki przy każdym połączeniu (zobacz Zmiany łamiące zgodność).

Najważniejsze zmiany

  • Rejestracja OpenMV Cam jest teraz wykrywana przy połączeniu: IDE odpytuje architekturę płytki, sprawdza płytkę/ID względem openmv.io i monituje użytkownika o zarejestrowanie kamery za pomocą klucza płytki.

  • Dołączone oprogramowanie układowe 2.4.1 dla kamer OMV2 (M4) i OMV3 (M7) dodaje wykrywanie linii (find_lines / find_line_segments za pomocą transformacji Hougha) oraz nowy obiekt wyniku image.match_descriptor w 2.4.0; oprogramowanie układowe 2.4.1 wprowadza następnie zmianę nazw API operacji binarnych.

  • Integracja Edytora progów: kliknięcie prawym przyciskiem myszy zaznaczonej krotki progu w skali szarości lub LAB w edytorze otwiera Edytor progów z wczytanymi tymi wartościami i zapisuje dostosowaną krotkę z powrotem do źródła przy zamknięciu.

  • Zwijane panele: panele bufora ramki i terminala szeregowego zyskały przyciski szuflady, które ukrywają i ponownie pokazują panel oraz przywracają jego stan z ustawień.

  • Pasek tytułu Bufora ramki na żywo pokazuje teraz bieżącą rozdzielczość i wybrany obszar zainteresowania (ROI), a wyłączony bufor ramki wyświetla w jego miejscu nakładkę.

Nowe funkcje

  • Rejestracja OpenMV Cam jest wykrywana przy połączeniu. IDE odpytuje architekturę płytki i sprawdza płytkę/ID względem openmv.io (openmv-swd-ids-check.php / openmv-swd-ids-register.php), monitując użytkownika o zarejestrowanie kamery za pomocą klucza płytki. Dołączono okno dialogowe rejestracji z działającym odnośnikiem zakupu, wyświetlaniem postępu oraz obsługą błędów (c61052eb3, 9fa8a253e).

  • Edytor progów z poziomu edytora: kliknięcie prawym przyciskiem myszy zaznaczonego progu w skali szarości (g_min, g_max) lub sześcioelementowej krotki LAB oferuje akcję Edit … threshold with Threshold Editor, która otwiera edytor z wczytanymi tymi wartościami i aktualizuje krotkę źródłową przy zamknięciu (3d12e6ee7, 992d3bdf8).

  • Zwijane panele: panele bufora ramki i terminala szeregowego zyskały przyciski szuflady górne/dolne/lewe/prawe, które ukrywają i ponownie pokazują panel oraz przywracają jego stan z ustawień (abaf628ff, 7461e3b55, b51faa8f5).

  • Rozdzielczość i ROI na żywo na pasku tytułu Bufora ramki, np. Frame Buffer - Res (w:.., h:..) - ROI (x:.., y:.., w:.., h:..) (992d3bdf8).

  • Do menu Machine Vision Tools dodano pozycje DataMatrix Generator i Barcode Generator, z których każda otwiera wyszukiwanie Google dla generatora online (bf284997b).

Inne zmiany i ulepszenia

  • Gdy bufor ramki jest wyłączony, w jego miejscu wyświetlana jest teraz wyśrodkowana nakładka Frame Buffer Disabled - click the disable button again to enable (top right) (bf284997b).

  • Edytor progów zachowuje teraz i przywraca stan swoich suwaków (wartości combo/inwersji/min-max) między sesjami, a nie tylko geometrię okna (bf284997b).

  • Przebudowano podświetlanie składni Python, aby lepiej kolorować nazwy klas/funkcji/metod/argumentów OpenMV oraz słowa kluczowe importu w edytorze i terminalu (38c00e5a2, 7461e3b55).

  • Wklejanie do terminala szeregowego wysyła teraz bajty ze schowka po jednym znaku naraz i wstawia 1ms odstęp między wychodzącymi pakietami szeregowymi/UDP/TCP, aby nie przepełnić REPL MicroPython, a CR i LF są emitowane osobno po naciśnięciu Enter (c61052eb3).

  • Automatyczne uzupełnianie składowych uruchamia się teraz po wpisaniu . po nawiasie zamykającym, takim jak ), ] lub }, dzięki czemu uzupełnienia pojawiają się po wywołaniach funkcji i indeksowaniu (9fa8a253e).

Poprawki błędów

  • Naprawiono okno dialogowe rejestracji SWD-ID OpenMV Cam, tak aby Anuluj i zakończenie żądania niezawodnie je zamykały, zamiast polegać na kodzie wyniku z rzutowania wskaźnika (6599856c4).

  • Naprawiono dopasowywanie oprogramowania układowego dla zarejestrowanych płytek poprzez usunięcie tokenu rejestracji [board:id] z ciągu architektury przed wyszukaniem go w tabeli mapowań oprogramowania układowego (a1be146f1).

  • Naprawiono regresję rejestracji, w której obsługa sukcesu/błędu nigdy się nie uruchamiała z powodu odwróconego sprawdzania anulowania i niezabezpieczonego wyrażenia regularnego board-id, oraz pomijano sprawdzanie rejestracji dla kamer opartych na M4 (9fa8a253e).

  • Wyłączono okablowanie lewego paska nawigacyjnego z głównej wersji Qt Creator, aby naprawić widżet nawigacji w układzie OpenMV (bf284997b).

Obsługa platform i narzędzi

  • Baza Qt Creator: 4.0.2.

  • Dołączone oprogramowanie układowe OpenMV: podniesione z 2.3.0 do 2.4.1 dla kamer OMV2 (M4) i OMV3 (M7) w dwóch krokach. Krok 2.3.0 -> 2.4.0 dodał wykrywanie linii (find_lines / find_line_segments za pomocą transformacji Hougha), nowy obiekt wyniku image.match_descriptor / kptmatch, przykłady dekodowania DataMatrix (find_datamatrices.py / find_datamatrices_w_lens_zoom.py), przykłady find_lines.py / find_line_segments.py oraz metodę sensor.set_vsync_output() (f0cd4d75c). Krok 2.4.0 -> 2.4.1 dodał nowe operacje logiczne na obrazie AND/OR b_and / b_or oraz przemianował nand / nor / xor / xnor na b_nand / b_nor / b_xor / b_xnor (starsze nazwy zachowano jako aliasy) (4fc16559e).

  • Sterowniki Windows: przebudowano skrypty poleceń instalacji sterowników DfuSe / FTDI / OpenMV / PybCDC oraz dołączono wcześniej brakujące pliki binarne sterowników DfuSe i FTDI/OpenMV/PybCDC, biblioteki DLL oraz pakiety redystrybucyjne VC potrzebne do instalacji (b51faa8f5, c2633fc04, 4fc16559e).

Zmiany łamiące zgodność

Podłączenie OpenMV Cam, którą openmv.io zgłasza jako niezarejestrowaną, wyzwala teraz do trzech monitów proszących użytkownika o wprowadzenie klucza płytki, powtarzanych przy każdym połączeniu, dopóki kamera nie zostanie zarejestrowana. Płytki oparte na M4 są zwolnione z tego sprawdzania. Zmiana nazw operacji binarnych na obrazie w oprogramowaniu układowym 2.4.1 jest zgodna wstecz, ponieważ starsze nazwy metod nand / nor / xor / xnor pozostają dostępne jako aliasy.