Logo EXCELITAS TECHNOLOGIESlogo EXCELITAS TECHNOLOGIES 1Zestaw deweloperski oprogramowania Pythona
Instrukcja obsługiEXCELITAS TECHNOLOGIES Zestaw do tworzenia oprogramowania w języku Pythonlogo EXCELITAS TECHNOLOGIES 2

Zestaw deweloperski oprogramowania Pythona

PCO prosi o uważne przeczytanie i przestrzeganie instrukcji zawartych w tym dokumencie.
W przypadku jakichkolwiek pytań lub komentarzy prosimy o kontakt z nami w dowolnym momencie.
telefon: +49 (0) 9441 2005 50
faks: +49 (0) 9441 2005 20
adres pocztowy: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Niemcy
e-mail: info@pco.de
web: www.pco.de
Podręcznik użytkownika pco.python 0.1.7
Wydany w grudniu 2021 r
©Copyright Excelitas PCO GmbH
EXCELITAS TECHNOLOGIES Python Software Development Kit - ikona 1Ta praca jest dostępna na licencji Creative Commons Attribution-No Derivatives 4.0 International License. Do view kopię tej licencji, odwiedź http://creativecommons.org/licenses/by-nd/4.0/ lub wyślij list na adres Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

Ogólny

Pakiet Python pco oferuje wszystkie funkcje do pracy z kamerami pco, które są oparte na prądzie pco.sdk. Uwzględniono wszystkie biblioteki współdzielone do komunikacji z kamerą i późniejszego przetwarzania obrazu.

  • Łatwa w użyciu klasa aparatu
  • Potężny interfejs API do pco.sdk
  • Rejestracja i obróbka obrazu za pomocą PC.rejestrator

1.1 Instalacja
Zainstaluj z pypi (zalecane):
$ pip zainstaluj pco
1.2 Podstawowe użytkowanie
importuj matplotlib.pyplot jako plt
importować pco
z pco.Camera() jako kamerą:
nagranie.kamery()
obraz, meta = cam.image()
plt.imshow(obraz, cmap='szary')
plt.show()EXCELITAS TECHNOLOGIES Zestaw do tworzenia oprogramowania w języku Python — podstawowe użycie1.3 Rejestrowanie zdarzeń i błędów
Aby aktywować wyjście rejestrowania, utwórz obiekt Camera z parametrem debuglevel=.
Poziom debugowania można ustawić na jedną z następujących wartości:

  • 'off' Wyłącza wszystkie wyjścia.
  • 'error' Pokazuje tylko komunikaty o błędach.
  • 'verbose' Pokazuje wszystkie wiadomości.
  • 'extra verbose' Pokazuje wszystkie komunikaty i wartości.

Domyślny poziom debugowania to „wyłączony”.
pco.Camera(debuglevel='verbose')

[][sdk] get_camera_type: OK.
Opcjonalny czasamp= parametr aktywuje a tag w wydruku. Możliwe wartości to: „on” i „off”. Wartość domyślna to „wyłączone”.
pco.Camera(debuglevel='verbose', timestamp='na')

[2019-11-25 15:54:15.317855 / 0.016 s] [][sdk] get_camera_type: OK.

Dokumentacja API

Klasa pco.Camera oferuje następujące metody:

  • record() generuje, konfiguruje i uruchamia nową instancję rejestratora.
  • stop() zatrzymuje bieżące nagrywanie.
  • close() zamyka aktualnie aktywną kamerę i zwalnia zajęte zasoby.
  • image() zwraca obraz z rejestratora jako tablicę numpy.
  • images() zwraca wszystkie zarejestrowane obrazy z rejestratora jako listę numpy tablic.
  • image_average() zwraca uśredniony obraz. Ten obraz jest obliczany na podstawie wszystkich zapisanych obrazów w buforze.
  • set_exposure_time() ustawia czas ekspozycji dla kamery.
  • wait_for_first_image() czeka na pierwszy dostępny obraz w pamięci rejestratora.

Klasa pco.Camera ma następującą zmienną:

  • konfiguracja

Klasa pco.Camera ma następujące obiekty:

  • sdk oferuje bezpośredni dostęp do wszystkich podstawowych funkcji platformy pco.sdk.
  • rejestrator oferuje bezpośredni dostęp do wszystkich podstawowych funkcji PC.rejestrator.

2.1 Metody
Ta sekcja opisuje wszystkie metody oferowane przez klasę pco.Camera.
2.1.1 Rekord
Opis Tworzy, konfiguruje i uruchamia nową instancję rejestratora. Cała konfiguracja kamery musi być ustawiona przed wywołaniem funkcji record(). Jedynym wyjątkiem jest polecenie set_exposure_time(). Ta funkcja nie ma wpływu na obiekt rejestratora i może być wywołana podczas nagrywania.
Prototyp def record(self, number_of_images=1, mode='sequence'):
Parametr

Nazwa Opis
liczba_obrazów Ustawia liczbę obrazów przydzielonych w sterowniku. Pamięć RAM komputera ogranicza wartość maksymalną.
tryb W trybie „sekwencyjnym” ta funkcja jest blokowana podczas nagrywania. Rejestrator zatrzymuje się automatycznie po osiągnięciu liczby_obrazów. W trybie „bez blokowania sekwencji” ta funkcja nie blokuje. Status należy sprawdzić przed odczytaniem obrazu. Ten tryb służy do odczytywania obrazów podczas nagrywania, np. miniatur.
W trybie „bufora pierścieniowego” ta funkcja nie blokuje. Status należy sprawdzić przed odczytaniem obrazu. Rejestrator nie zatrzymuje nagrywania po osiągnięciu liczby_zdjęć. Gdy tak się stanie, najstarsze obrazy zostaną nadpisane.
W trybie „fifo” ta funkcja nie blokuje. Status należy sprawdzić przed odczytaniem obrazu. Gdy liczba_obrazów w fifo zostanie osiągnięta, następujące obrazy są usuwane, dopóki obrazy nie zostaną odczytane z fifo.

2.1.2 Zatrzymaj
Opis Zatrzymuje bieżące nagrywanie. W trybie „bufor pierścieniowy” i „fifo” funkcja ta musi zostać wywołana przez użytkownika. W trybie „sekwencja” i „sekwencja bez blokowania” funkcja ta jest automatycznie wywoływana po osiągnięciu liczby_obrazów.
Prototyp zdecydowanie zatrzymaj (ja):
2.1.3 Zamknij
Opis Zamyka aktywną kamerę i zwalnia zablokowane zasoby. Ta funkcja musi zostać wywołana przed zakończeniem działania aplikacji. W przeciwnym razie zasoby pozostają zajęte.
Prototyp zdecydowanie zamknij (samo):
Ta funkcja jest wywoływana automatycznie, jeśli obiekt kamery jest tworzony za pomocą instrukcji with. Wyraźne wywołanie metody close() nie jest już konieczne.
z pco.Camera() jako cam: # zrób kilka rzeczy
2.1.4 Obraz
Opis Zwraca obraz z rejestratora. Typ obrazu to numpy.ndarray. Ta tablica jest kształtowana w zależności od rozdzielczości i ROI obrazu.
Prototyp def image(self, image_number=0, roi=Brak):
Parametr

Nazwa Opis
numer_obrazu Określa numer obrazu do odczytania. W trybie „sekwencja” lub „sekwencja bez blokowania” indeks rejestratora jest zgodny z numerem_obrazu. Jeśli numer_obrazu jest ustawiony na 0xFFFFFFFF, kopiowany jest ostatni zarejestrowany obraz. Pozwala to na stworzenie live preview podczas nagrywania.
król Ustawia region zainteresowania. Tylko ten region obrazu jest kopiowany do wartości zwracanej.

Example >>> cam.record(number_of_images=1, mode='sequence')
>>> obraz, meta = cam.image()
>>> wpisz (obraz) numpy.ndarray
>>> obraz.kształt (2160, 2560)
>>> obraz, metadane = cam.image(roi=(1, 1, 300, 300))
>>> obraz.kształt (300, 300)
2.1.5 obrazy
Opis Zwraca wszystkie nagrane obrazy z rejestratora jako listę numpy tablic.
Prototyp def obrazy (self, roi=Brak, blocksize=Brak):
Parametr

Nazwa Opis
król Ustawia region zainteresowania. Tylko ten region obrazu jest kopiowany do wartości zwracanej.
rozmiar bloku Określa maksymalną liczbę zwracanych obrazów. Ten parametr jest użyteczny tylko w trybie „fifo” iw specjalnych warunkach.

Example >>> cam.record(number_of_images=20, mode='sequence')
>>> obrazy, metadane = cam.images()
>>> len(obrazy) 20
>>> dla obrazu w obrazach:

print('Średnia: {:7.2f} DN'.format(image.mean()))

Średnia: 2147.64 DN
Średnia: 2144.61 DN

>>> obrazy = cam.images(roi=(1, 1, 300, 300))
>>> obrazy[0].kształt (300, 300)
2.1.6 Obraz_średni
Opis Zwraca uśredniony obraz. Ten obraz jest obliczany na podstawie wszystkich zapisanych obrazów w buforze.
Prototyp def image_average(self, roi=Brak):
Parametr

Nazwa Opis
król Określa obszar zainteresowania. Tylko ten region obrazu jest kopiowany do wartości zwracanej.

Example >>> cam.record(number_of_images=100, mode='sequence')
>>> śr. = krzywka.średnia_obrazu()
>>> średnia = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 Ustaw_czas_ekspozycji
Opis Ustawia czas ekspozycji aparatu.
Prototyp def set_exposure_time(self, ekspozycja_czas):
Parametr

Nazwa Opis
czas narażenia Musi być podana jako liczba zmiennoprzecinkowa lub całkowita w jednostce „sekunda”. Podstawowe wartości dla funkcji sdk.set_delay_exposure_time(0, 'ms', time, timebase) zostaną obliczone automatycznie. Czas opóźnienia jest ustawiony na 0.

Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 Oczekiwanie_na_pierwszy_obraz
Opis Oczekiwanie na pierwszy dostępny obraz w pamięci rejestratora. W trybie rejestratora „bez blokowania sekwencji”, „bufor pierścieniowy”. i „fifo”, ​​funkcja record() powraca natychmiast. Dlatego ta funkcja może być używana do czekania na obrazy z kamery przed wywołaniem funkcji image(), images() lub image_average().
Prototyp def czekaj na_pierwszy_obrazek(samodzielnie):
2.2 Zmienna konfiguracja
Parametry kamery są aktualizowane poprzez zmianę zmiennej konfiguracyjnej.
cam.configuration = {'czas ekspozycji': 10e-3,
„Roi”: (1, 1, 512, 512),
„na czasie”.amp': 'ascii',
„liczba pikseli”: 100_000_000,
„wyzwalacz”: „automatyczna sekwencja”,
„pozyskaj”: „automatycznie”,
„metadane”: „na”,
'binding': (1, 1)}
Zmienną można zmienić tylko przed wywołaniem funkcji record(). Jest to słownik z określoną liczbą wpisów. Nie wszystkie możliwe elementy muszą być określone. Następująceampkod pliku zmienia tylko „liczbę pikseli” i nie wpływa na żadne inne elementy konfiguracji.
z pco.Camera() jako kamerą:
cam.configuration = {'liczba pikseli': 286_000_000}
nagranie.kamery()

2.3 obiektów
Ta sekcja opisuje wszystkie obiekty oferowane przez klasę pco.Camera.
2.3.1 zestawów SDK
Obiekt sdk umożliwia bezpośredni dostęp do wszystkich podstawowych funkcji programu pco.sdk.
>>> cam.sdk.get_temperature()
{'temperatura czujnika': 7.0, 'temperatura aparatu': 38.2, 'temperatura zasilania': 36.7}
Wszystkie wartości zwracane przez funkcje sdk są słownikami. Nie wszystkie ustawienia kamery są obecnie objęte klasą Camera. Specjalne ustawienia należy ustawić bezpośrednio, wywołując odpowiednią funkcję sdk.
2.3.2 Rejestrator
Obiekt rec oferuje bezpośredni dostęp do wszystkich podstawowych funkcji programu PC.rejestrator. Nie jest konieczne bezpośrednie wywoływanie metody klasy rejestratora. Wszystkie funkcje są w pełni objęte metodami klasy Camera.

EXCELITAS TECHNOLOGIES Zestaw do tworzenia oprogramowania w języku Python — kod QRhttps://www.pco.de/applications/

pco europa
+49 9441 2005 50
info@pco.de
pco.de
pco ameryka
+1 866 678 4566
info@pco-tech.com
pco-tech.com
pco azja
+65 6549 7054
info@pco-imaging.com
pco-imaging.com
Chiny
+86 512 67634643
info@pco.cn
pco.cn

Logo EXCELITAS TECHNOLOGIESlogo EXCELITAS TECHNOLOGIES 1

Dokumenty / Zasoby

EXCELITAS TECHNOLOGIES Zestaw do tworzenia oprogramowania w języku Python [plik PDF] Instrukcja obsługi
Zestaw programistyczny w języku Python, zestaw programistyczny, zestaw deweloperski, zestaw

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *