Raspberry Pi Trading wypuściło w zeszłym tygodniu nową wersję systemu operacyjnego Raspberry Pi OS. Główną atrakcją aktualizacji jest biblioteka Picamera2 dla Python do obsługi kamer Raspberry Pi, wraz z drobnymi zmianami, takimi jak możliwość wyszukiwania pozycji menu, nowa kontrola wejścia audio itp.
Omawiana biblioteka Picamera2 została po raz pierwszy pokazana światu w połowie lutego 2022 roku w wersji zapoznawczej, ale dopiero teraz jest domyślnie dołączana do Raspberry Pi OS. Jest oparta na otwartym frameworku libcamera, a nie na zastrzeżonych i zamkniętych interfejsach API kamer firmy Broadcom, które można znaleźć w oryginalnej bibliotece Picamera. Niektóre z kluczowych funkcji obejmują:
* Okna podglądu używają akceleracji OpenGL do renderowania wspomaganego sprzętowo lub DRM/KMS do wydajnego, gdy X Windows nie jest uruchomiony.
* Polecenia Picamera2 można wpisywać do interpretera lub do skryptów Pythona.
* Obsługa osadzania widżetów Picamera2 w aplikacjach Qt.
* Integracja NumPy zapewnia łatwiejsze korzystanie z OpenCV, TensorFlow i innych bibliotek: „obliczeniowych” Pythona.
* Kodowanie i nagrywanie wideo.
* Nagrywanie razem dźwięku i wideo.
* Rysowanie nakładek wyświetlania na obrazach z kamery.
* Obsługiwane są wszystkie oficjalne kamery Raspberry Pi, a także niektóre odmiennych firm np. z Arducam i innych.
Źródło oraz dokumentacja (65-stronnicowy plik PDF) są do pobrania z repozytorium na GitHubie. Bibliotekę należy uruchomić na komputerze z najnowszą wersją Raspberry Pi OS, jednakże, jeśli to niemożliwe i z jakiegoś powodu chcemy doinstalować całość do starszej wersji (co najmniej Bullseye) można to zrobić korzystając z apt:
Robienie zdjęcia to tylko jedna linijka kodu:
Jeśli chcemy jednocześnie uruchomić okno podglądu przed zapisaniem obrazu, musimy dodać kilka prostych komend:
Powyższy przykład dedykowany jest do wykorzystania z X-Windows, jednakże jeśli nie korzystamy z tego menedżera okien, to można wykorzystać Preview.QTGL przez Preview.DRM w to miejsce, jak pokazano poniżej:
Można także przechwytywać wideo, dostosowywać parametry kamery (ekspozycja, wzmocnienie itp.), wyświetlać nakładki, przesyłać strumieniowo obraz do sieci i nie tylko. Plany na przyszłość obejmują rozwój biblioteki i naprawę błędów, które mogą pojawić się w wersji beta, a także pracę nad lepszą dokumentacją, poprawę kontroli ekspozycji i wzmocnienia klatka po klatce itp.
Źródło: https://www.cnx-software.com/2022/09/13/picamera2-python-camera-library-for-raspberry-pi-leverages-libcamera-open-source-framework/
Omawiana biblioteka Picamera2 została po raz pierwszy pokazana światu w połowie lutego 2022 roku w wersji zapoznawczej, ale dopiero teraz jest domyślnie dołączana do Raspberry Pi OS. Jest oparta na otwartym frameworku libcamera, a nie na zastrzeżonych i zamkniętych interfejsach API kamer firmy Broadcom, które można znaleźć w oryginalnej bibliotece Picamera. Niektóre z kluczowych funkcji obejmują:
* Okna podglądu używają akceleracji OpenGL do renderowania wspomaganego sprzętowo lub DRM/KMS do wydajnego, gdy X Windows nie jest uruchomiony.
* Polecenia Picamera2 można wpisywać do interpretera lub do skryptów Pythona.
* Obsługa osadzania widżetów Picamera2 w aplikacjach Qt.
* Integracja NumPy zapewnia łatwiejsze korzystanie z OpenCV, TensorFlow i innych bibliotek: „obliczeniowych” Pythona.
* Kodowanie i nagrywanie wideo.
* Nagrywanie razem dźwięku i wideo.
* Rysowanie nakładek wyświetlania na obrazach z kamery.
* Obsługiwane są wszystkie oficjalne kamery Raspberry Pi, a także niektóre odmiennych firm np. z Arducam i innych.
Źródło oraz dokumentacja (65-stronnicowy plik PDF) są do pobrania z repozytorium na GitHubie. Bibliotekę należy uruchomić na komputerze z najnowszą wersją Raspberry Pi OS, jednakże, jeśli to niemożliwe i z jakiegoś powodu chcemy doinstalować całość do starszej wersji (co najmniej Bullseye) można to zrobić korzystając z apt:
Kod: Bash
Robienie zdjęcia to tylko jedna linijka kodu:
Kod: Python
Jeśli chcemy jednocześnie uruchomić okno podglądu przed zapisaniem obrazu, musimy dodać kilka prostych komend:
Kod: Python
Powyższy przykład dedykowany jest do wykorzystania z X-Windows, jednakże jeśli nie korzystamy z tego menedżera okien, to można wykorzystać Preview.QTGL przez Preview.DRM w to miejsce, jak pokazano poniżej:
Kod: Python
Można także przechwytywać wideo, dostosowywać parametry kamery (ekspozycja, wzmocnienie itp.), wyświetlać nakładki, przesyłać strumieniowo obraz do sieci i nie tylko. Plany na przyszłość obejmują rozwój biblioteki i naprawę błędów, które mogą pojawić się w wersji beta, a także pracę nad lepszą dokumentacją, poprawę kontroli ekspozycji i wzmocnienia klatka po klatce itp.
Źródło: https://www.cnx-software.com/2022/09/13/picamera2-python-camera-library-for-raspberry-pi-leverages-libcamera-open-source-framework/
Fajne? Ranking DIY