v1.4.0

v1.4.0 wprowadza dwa nowe narzędzia wizji maszynowej – Threshold Editor i Keypoints Editor – wraz ze znaczącą reorganizacją dołączonych przykładowych skryptów oraz dołączonym oprogramowaniem układowym OpenMV 2.1.0. Wydanie pozostaje na bazie Qt Creator 4.0.2. Wydanie to zmienia kilka skrótów klawiaturowych oraz zmienia nazwy lub usuwa niektóre przykładowe skrypty; zobacz Zmiany niekompatybilne wstecznie.

Najważniejsze zmiany

  • Threshold Editor dodany w Tools > Machine Vision: wczytuje obraz z bufora ramki lub z pliku, pokazuje na żywo podgląd binarny z regulowanymi suwakami min/max dla skali szarości lub LAB oraz opcją inwersji, a także zwraca krotkę progu do wykorzystania w skryptach.

  • Keypoints Editor dodany w Tools > Machine Vision: wizualnie wyświetla punkty kluczowe ORB/LBP na obrazie źródłowym i umożliwia zaznaczanie oraz usuwanie odstających punktów kluczowych, przełączanie oktaw oraz edycję i scalanie plików punktów kluczowych.

  • Zreorganizowane przykłady: nowe przykłady slave I2C/SPI Arduino do sterowania płytką, nowy przykład punktów kluczowych ORB, przykłady korekcji obiektywu kodów QR oraz przepisany zestaw śledzenia kolorów.

  • Dołączone oprogramowanie układowe OpenMV zaktualizowane do 2.1.0, ze zmianą docelowej płytki STM32F7 z OMV7 na OMV3.

  • Skróty klawiaturowe dodane: Ctrl+E dla Connect/Disconnect oraz Ctrl+R dla Stop (przeniesione z Ctrl+T).

Nowe funkcje

  • Threshold Editor (Tools > Machine Vision) wczytuje obraz z bufora ramki lub z pliku i pokazuje na żywo podgląd binarny z regulowanymi suwakami min/max dla skali szarości lub LAB oraz opcją inwersji, zwracając krotkę progu do wykorzystania w skryptach (fd100a5c3).

  • Keypoints Editor (Tools > Machine Vision) wizualnie wyświetla punkty kluczowe ORB/LBP na obrazie źródłowym, umożliwia zaznaczanie i usuwanie odstających punktów kluczowych za pomocą myszy i klawisza Delete, przełączanie oktaw za pomocą suwaka oraz edycję i scalanie plików punktów kluczowych (4549227fc, f6ee10595, 0e046f51a).

  • Po sprawdzeniu aktualności oprogramowania układowego IDE oferuje teraz przywrócenie OpenMV Cam do dołączonego, wydanego oprogramowania układowego, z opcjonalnym wyczyszczeniem wewnętrznego systemu plików (e7803d33c).

  • Zreorganizowane przykładowe skrypty: nowe przykłady slave I2C/SPI Arduino do sterowania płytką, nowy przykład punktów kluczowych ORB (keypoints.py/keypoints_save.py) zastępujący freak.py, przykłady korekcji obiektywu/przybliżenia kodów QR oraz przepisany zestaw śledzenia kolorów (automatyczne śledzenie kolorów w skali szarości/RGB565, śledzenie znacznika IR, śledzenie pojedynczych/wielu plam (blob) kolorów i kodów kolorów, informacje o histogramie/statystykach obrazu, podążanie za linią) (e7803d33c).

Pozostałe zmiany i ulepszenia

  • Keypoints Editor tworzy teraz kopie zapasowe oryginalnych plików punktów kluczowych i obrazów (.bak) przed ich nadpisaniem podczas zapisu (fd100a5c3).

  • Connect i Disconnect są teraz przypisane do Ctrl+E, a Stop (zatrzymanie skryptu) przeniesiono z Ctrl+T na Ctrl+R (e7803d33c).

  • Punkty końcowe sieciowe IDE zostały przekierowane na nowe hosty openmv.io: fora na forums.openmv.io oraz strona pobierania na openmv.io/pages/download (e7803d33c), a sprawdzanie wersji oraz pobieranie wersji zasobów i archiwum zip zasobów na upload.openmv.io (e899abcca).

Poprawki błędów

  • Flashowanie oprogramowania układowego przez DFU (DfuSeCommand w systemie Windows, pydfu na innych platformach) ponawia teraz próbę do 10 razy, zamiast kończyć się niepowodzeniem przy pierwszej próbie, co czyni aktualizacje bootloadera/DFU bardziej niezawodnymi (e7803d33c).

  • Zapisywanie nienazwanego/nowego skryptu poprawnie otwiera teraz Zapisz jako, a po zapisaniu wyświetlana nazwa edytora jest czyszczona, dzięki czemu tytuł nie zachowuje już tymczasowej nazwy zastępczej _$ (e7803d33c).

  • Dodano kontrolę poprawności, która odrzuca nieprawdopodobne numery wersji oprogramowania układowego (poza zakresem 0..100) i ponawia połączenie zamiast kontynuować (2320ab299).

  • Naprawiono monit o powiązanie dysku, tak aby ciche ponowne połączenia automatycznie wybierały pierwszy dysk zamiast nieprawidłowo pomijać wybór (4fda9a7d6, e7803d33c).

  • Naprawiono renderowanie binarnych (1bpp) obrazów bufora ramki przez wyrównanie każdego wiersza do 32 bitów zamiast 8 bitów, dzięki czemu obrazy binarne strumieniowane z OpenMV Cam wyświetlają się poprawnie zamiast z zniekształconymi/źle wyrównanymi wierszami (e7803d33c).

Obsługa platform i narzędzi

  • Baza Qt Creator: 4.0.2.

  • Dołączone oprogramowanie układowe OpenMV: zaktualizowane z 2.0.0 do 2.1.0 (f6ee10595).

  • Docelowa płytka STM32F7: zmieniona z OMV7 (STM32F769) na OMV3 (STM32F765/512), z nowymi binariami bootloadera/oprogramowania układowego zarówno dla OMV2, jak i OMV3 (f6ee10595).

  • Reguły udev systemu Linux: reguły urządzenia OpenMV Cam i DFU ustawiają teraz MTP_NO_PROBE=1, aby powstrzymać pulpit przed sondowaniem urządzenia jako urządzenia MTP (e7803d33c).

Zmiany niekompatybilne wstecznie

Widoczne dla użytkownika zmiany w sposobie pracy między v1.3.x a v1.4.0:

  • Zmienione skróty klawiaturowe: Stop (zatrzymanie skryptu) przeniesiono z Ctrl+T na Ctrl+R, a Connect/Disconnect jest teraz przypisane do Ctrl+E.

  • Zmienione nazwy/usunięte przykładowe skrypty: kilka przykładów śledzenia kolorów zmieniło nazwę lub zostało usuniętych (np. blob_detection.py, marker_tracking.py), a przykład wykrywania cech freak.py został usunięty i zastąpiony przez keypoints.py.