v1.0.0

v1.0.0 to pierwsze publiczne wydanie OpenMV IDE — dostosowanej kompilacji Qt Creator (Qt Creator 4.0.2) przygotowanej do programowania na OpenMV Cam. Dodaje wykrywanie i połączenie przez port szeregowy USB, wykonywanie skryptów na kamerze, podgląd bufora ramki i histogramu na żywo oraz nawigację po śladzie wyjątku Python. Nie ma żadnych zmian łamiących zgodność, ponieważ jest to pierwsze wydanie.

Najważniejsze elementy

  • Qt Creator z marką OpenMV z własnym ekranem powitalnym, menu Examples oraz edytorem Python, który otwiera nowe pliki .py bez nazwy wstępnie wypełnione szablonem zrzutu obrazu z sensora dla OpenMV Cam.

  • Connect wylicza porty szeregowe pasujące do VID/PID OpenMV Cam i odczytuje wersję oprogramowania układowego płytki, wyświetlaną na pasku stanu.

  • Run on cam za pomocą przycisków paska narzędzi Connect/Disconnect/Start/Stop: Start (Ctrl+R) wysyła bieżący skrypt do kamery, a Stop go zatrzymuje.

  • Live Frame Buffer — podgląd z dopasowaniem powiększenia do okna, opcjonalną kompresją JPEG, przełącznikiem wyłączania dla maksymalnej wydajności oraz odczytem FPS na żywo.

  • Live Histogram — panel przełączany między przestrzeniami kolorów RGB, Grayscale, LAB i YUV (Grayscale/LAB zalecane do śledzenia kolorów).

  • Nawigacja po śladzie wyjątku parsuje błędy Python z kamery i przenosi edytor do problematycznego pliku i wiersza.

Nowe funkcje

  • Powłoka OpenMV IDE. Aplikacja uruchamia się z nazwą wyświetlaną OpenMV IDE i ekranem powitalnym OpenMV, dodaje podmenu Examples budowane przez skanowanie dołączonego katalogu przykładów oraz nadpisuje akcję New, tak aby pliki .py bez nazwy otwierały się wstępnie wypełnione szablonem zrzutu obrazu import sensor i ogólnym podświetlaniem składni Python.

  • Connect / wersja oprogramowania układowego. Connect wylicza dostępne porty szeregowe, filtrując według USB VID/PID OpenMV Cam (0x1209/0xABD1), wyświetla okno wyboru portu, gdy pasuje więcej niż jeden, otwiera port, odczytuje wersję oprogramowania układowego płytki i wyświetla ją na pasku stanu.

  • Przyciski wykonywania skryptu. Akcje Connect, Disconnect, Start i Stop sterują kamerą. Start (Ctrl+R) wysyła skrypt z bieżącego edytora do kamery w celu wykonania, Stop zatrzymuje działający skrypt, a IDE śledzi stan działania, aby włączać lub wyłączać przycisk Stop.

  • Podgląd bufora ramki. Panel Frame Buffer renderuje ramki strumieniowane z kamery, z dopasowaniem powiększenia do okna, opcjonalnym przełącznikiem kompresji JPEG dla wyższej liczby klatek, przełącznikiem wyłączania dla maksymalnej wydajności oraz etykietą FPS na żywo.

  • Zapis obrazu i szablonów. Akcje kontekstowe (prawy przycisk myszy) na buforze ramki zapisują obraz na dysku (BMP/JPG/PNG/PPM), zapisują obraz szablonu (BMP/JPG/PGM/PPM) lub zapisują deskryptor punktów kluczowych/cech (.lbp/.ff) bezpośrednio na dysk kamery. Gdy nad ramką zostanie przeciągnięty prostokątny obszar zaznaczenia, wszystkie trzy akcje działają na przyciętym zaznaczeniu, a ich etykiety w menu zmieniają się odpowiednio (na przykład Save Image selection to PC); w przeciwnym razie używają pełnej wyświetlanej ramki.

  • Panel histogramu. Panel Histogram rysuje rozkład kanałów bieżącej ramki i można go przełączać między przestrzeniami kolorów RGB, Grayscale, LAB i YUV.

  • Nawigacja po śladzie wyjątku. Ślady wyjątków Python wypisywane przez kamerę są parsowane na żywo; IDE otwiera lub uaktywnia problematyczny plik (w razie potrzeby rozwiązując pliki na dysku kamery), przeskakuje do zgłoszonego wiersza i wyświetla komunikat o błędzie. Wyjście szeregowe jest również przekazywane do terminala Message Manager.

  • Powiązanie z dyskiem kamery. IDE wiąże wymienny dysk FAT/msdos z podłączoną kamerą za pomocą przycisku Drive: na pasku stanu, co umożliwia zapis plików docelowych na kamerze oraz rozwiązywanie plików ze śladu wyjątku.

  • Menu Help i zachowany stan. Menu Help dodaje OpenMV Docs, fora, link About OpenMV Cam pinout oraz okno About OpenMV IDE. Stan okna, w tym położenia rozdzielaczy, powiększenie, kompresja JPG, przełącznik wyłączania bufora ramki, przestrzeń kolorów histogramu oraz ostatni port szeregowy, zachowuje się między sesjami.

Pozostałe zmiany i ulepszenia

  • W systemie Linux niepowodzenie połączenia z powodu braku uprawnień wyświetla okno z poprawką grupy dialout sudo usermod -a -G dialout.

Obsługa platform i narzędzi

  • Baza Qt Creator: 4.0.2.

  • Wtyczka komunikuje się z kamerą za pomocą niestandardowego protokołu szeregowego USB-debug. Kilka możliwości na poziomie protokołu jest obecnych w warstwie IO, ale nie zostało wystawionych w interfejsie użytkownika w tym wydaniu: bootloader pamięci flash (start, reset, kasowanie, zapis), sterowanie atrybutami kamery (kontrast, jasność, nasycenie, górny limit wzmocnienia), polecenie resetu systemu oraz ścieżka aktualizacji ramki. Żadna z nich nie jest jeszcze podpięta do menu, przycisku ani widżetu dla użytkowników.

Zmiany łamiące zgodność

Brak. Jest to pierwsze wydanie OpenMV IDE.