
Python Yazılım Geliştirme Kiti
Kullanıcı Kılavuzu

Python Yazılım Geliştirme Kiti
PCO sizden bu belgedeki talimatları dikkatlice okumanızı ve uygulamanızı ister.
Herhangi bir soru veya yorumunuz için lütfen istediğiniz zaman bizimle iletişime geçmekten çekinmeyin.
telefon: +49 (0) 9441 2005 50
faks: +49 (0) 9441 2005 20
posta adresi: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Almanya
eposta: info@pco.de
web: www.pco.de
pco.python kullanım kılavuzu 0.1.7
Aralık 2021'de yayınlandı
©Telif Hakkı Excelitas PCO GmbH
Bu çalışma Creative Commons Atıf-Türevsiz 4.0 Uluslararası Lisansı kapsamında lisanslanmıştır. İle view bu lisansın bir kopyası için şu adresi ziyaret edin: http://creativecommons.org/licenses/by-nd/4.0/ veya Creative Commons, PO Box 1866, Mountain'a bir mektup gönderin View, CA 94042, ABD.
Genel
Python paketi pco, mevcut sürümü temel alan pco kameralarla çalışmaya yönelik tüm işlevleri sunar. pco.sdk. Kamerayla iletişim ve sonraki görüntü işleme için tüm paylaşılan kütüphaneler dahildir.
- Kullanımı kolay kamera sınıfı
- Güçlü API pco.sdk
- Görüntü kaydetme ve işleme pco.recorder
1.1 Kurulum
Pypi'den yükleyin (önerilir):
$ pip pco'yu yükle
1.2 Temel Kullanım
matplotlib.pyplot'u plt olarak içe aktar
PCO'yu içe aktar
cam olarak pco.Camera() ile:
cam.record()
resim, meta = cam.image()
plt.imshow(resim, cmap='gri')
plt.göster()
1.3 Olay ve Hata Günlüğü
Günlük çıkışını etkinleştirmek için debuglevel= parametresiyle Kamera nesnesini oluşturun.
Hata ayıklama düzeyi aşağıdaki değerlerden birine ayarlanabilir:
- 'kapalı' Tüm çıktıları devre dışı bırakır.
- 'hata' Yalnızca hata mesajlarını gösterir.
- 'ayrıntılı' Tüm mesajları gösterir.
- 'ekstra ayrıntılı' Tüm mesajları ve değerleri gösterir.
Varsayılan hata ayıklama düzeyi 'kapalı'dır.
pco.Camera(debuglevel='ayrıntılı')
…
[][sdk] get_camera_type: Tamam.
İsteğe bağlı zaman aralığıamp= parametre a'yı etkinleştirir tag basılı çıktıda. Olası değerler şunlardır: 'açık' ve 'kapalı'. Varsayılan değer kapalı'.
pco.Camera(debuglevel='ayrıntılı', zamanst)amp='açık')
…
[2019-11-25 15:54:15.317855 / 0.016 sn] [][sdk] get_camera_type: Tamam.
API Belgeleri
pco.Camera sınıfı aşağıdaki yöntemleri sunar:
- Record() yeni bir kaydedici örneği oluşturur, yapılandırır ve başlatır.
- stop() geçerli kaydı durdurur.
- close() geçerli aktif kamerayı kapatır ve meşgul olan kaynakları serbest bırakır.
- image(), kayıt cihazından bir görüntüyü numpy dizisi olarak döndürür.
- Images(), kayıt cihazındaki tüm kayıtlı görüntüleri numpy dizilerinin bir listesi olarak döndürür.
- image_average() ortalama görüntüyü döndürür. Bu görüntü arabellekte kayıtlı tüm görüntülerden hesaplanır.
- set_exposure_time() kameranın pozlama süresini ayarlar.
- wait_for_first_image(), kayıt cihazının belleğindeki ilk mevcut görüntüyü bekler.
pco.Camera sınıfı aşağıdaki değişkene sahiptir:
- yapılandırma
pco.Camera sınıfı aşağıdaki nesnelere sahiptir:
- SDK, temeldeki tüm işlevlere doğrudan erişim sunar. pco.sdk.
- kaydedici, cihazın temeldeki tüm işlevlerine doğrudan erişim sağlar. pco.recorder.
2.1 Yöntemler
Bu bölümde pco.Camera sınıfı tarafından sunulan tüm yöntemler açıklanmaktadır.
2.1.1 Kayıt
Tanım Yeni bir kaydedici örneği oluşturur, yapılandırır ve başlatır. Record() çağrılmadan önce tüm kamera konfigürasyonunun ayarlanması gerekir. set_exposure_time() komutu tek istisnadır. Bu işlevin kaydedici nesnesi üzerinde hiçbir etkisi yoktur ve kayıt sırasında çağrılabilir.
Prototip def kaydı(kendisi, resim_sayısı=1, mod='sıra'):
Parametre
| İsim | Tanım |
| resim sayısı | Sürücüde ayrılan görüntü sayısını ayarlar. Bilgisayarın RAM'i maksimum değeri sınırlar. |
| mod | 'Sıralama' modunda bu işlev kayıt sırasında engellenir. Görüntü_sayısına ulaşıldığında kaydedici otomatik olarak durur. 'Sıralı engellemesiz' modunda, bu işlev engellemesizdir. Bir görüntüyü okumadan önce durum kontrol edilmelidir. Bu mod, kayıt sırasında görüntüleri (örn. küçük resim) okumak için kullanılır. 'Halka arabellek' modunda bu işlev engellemez. Bir görüntüyü okumadan önce durum kontrol edilmelidir. Görüntü_sayısına ulaşıldığında kaydedici kaydı durdurmaz. Bu gerçekleştiğinde, en eski görüntülerin üzerine yazılır. 'Fifo' modunda bu işlev engellemez. Bir görüntüyü okumadan önce durum kontrol edilmelidir. Fifodaki resim sayısına ulaşıldığında, fifodan resimler okunana kadar aşağıdaki resimler bırakılır. |
2.1.2 Durdur
Tanım Geçerli kaydı durdurur. 'Ring buffer' ve 'fifo' modunda bu fonksiyonun kullanıcı tarafından çağrılması gerekir. 'Sıra' ve 'engellenmeyen sıra' modunda, bu işlev, görüntü_sayısına ulaşıldığında otomatik olarak çağrılır.
Prototip def stop(self):
2.1.3 Kapat
Tanım Etkinleştirilen kamerayı kapatır ve engellenen kaynakları serbest bırakır. Uygulama sonlandırılmadan önce bu fonksiyonun çağrılması gerekir. Aksi halde kaynaklar işgal altında kalır.
Prototip def yakın(kendi):
Bu işlev, kamera nesnesi with ifadesi tarafından oluşturulmuşsa otomatik olarak çağrılır. Close() için açık bir çağrıya artık gerek yoktur.
cam olarak pco.Camera() ile: # bazı şeyler yap
2.1.4 Resim
Tanım Kaydediciden bir görüntü döndürür. Görüntünün türü bir numpy.ndarray'dir. Bu dizi görüntünün çözünürlüğüne ve yatırım getirisine bağlı olarak şekillenmektedir.
Prototip def image(self, image_number=0, roi=Yok):
Parametre
| İsim | Tanım |
| resim_numarası | Okunacak görüntünün numarasını belirtir. 'Sıra' veya 'engellenmeyen sıra' modunda, kaydedici dizini görüntü_numarası ile eşleşir. Resim_numarası 0xFFFFFFFF olarak ayarlanmışsa, son kaydedilen resim kopyalanır. Bu, canlı bir ön hazırlık oluşturmanıza olanak tanırview kayıt sırasında. |
| yatırım getirisi | İlgi alanını ayarlar. Görüntünün yalnızca bu bölgesi dönüş değerine kopyalanır. |
Example >>> cam.record(görüntü_sayısı=1, mod='sıra')
>>> resim, meta = cam.image()
>>> (görüntü) numpy.ndarray yazın
>>> görüntü.şekil (2160, 2560)
>>> resim, meta veri = cam.image(roi=(1, 1, 300, 300))
>>> görüntü.şekil (300, 300)
2.1.5 Resim
Tanım Kaydedicideki tüm kayıtlı görüntüleri numpy dizilerinin bir listesi olarak döndürür.
Prototip def görüntüleri(kendisi, roi=Yok, blok boyutu=Yok):
Parametre
| İsim | Tanım |
| yatırım getirisi | İlgi alanını ayarlar. Görüntünün yalnızca bu bölgesi dönüş değerine kopyalanır. |
| blok boyutu | Döndürülen maksimum görüntü sayısını tanımlar. Bu parametre yalnızca 'fifo' modunda ve özel koşullar altında kullanışlıdır. |
Example >>> cam.record(görüntü_sayısı=20, mod='sıra')
>>> resimler, meta veriler = cam.images()
>>> len(resimler) 20
>>> resimlerdeki resim için:
…
print('Ortalama: {:7.2f} DN'.format(image.mean()))
…
Ortalama: 2147.64 DN
Ortalama: 2144.61 DN
…
>>> görüntüler = cam.images(roi=(1, 1, 300, 300))
>>> resimler[0].şekil (300, 300)
2.1.6 Görüntü_ortalaması
Tanım Ortalama görüntüyü döndürür. Bu görüntü arabellekte kayıtlı tüm görüntülerden hesaplanır.
Prototip def image_average(self, roi=Yok):
Parametre
| İsim | Tanım |
| yatırım getirisi | İlgi alanını tanımlar. Görüntünün yalnızca bu bölgesi dönüş değerine kopyalanır. |
Example >>> cam.record(görüntü_sayısı=100, mod='sıra')
>>> avg = cam.image_average()
>>> ort = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 Pozlama_zamanının ayarlanması
Tanım Kameranın pozlama süresini ayarlar.
Prototip def set_exposure_time(kendi, maruz kalma_süresi):
Parametre
| İsim | Tanım |
| maruziyet süresi | 'Saniye' biriminde float veya tamsayı değeri olarak verilmelidir. sdk.set_delay_exposure_time(0, 'ms', time, timebase) işlevine ilişkin temel değerler otomatik olarak hesaplanacaktır. Gecikme süresi 0 olarak ayarlanmıştır. |
Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 Wait_for_first_image
Tanım Kaydedici belleğindeki ilk kullanılabilir görüntüyü bekler. Kaydedici modunda 'sıra engellemesiz', 'halka arabelleği'. ve 'fifo', Record() işlevi hemen geri döner. Bu nedenle bu işlev, image(), Images() veya image_average() çağrılmadan önce kameradan gelen görüntüleri beklemek için kullanılabilir.
Prototip def wait_for_first_image(self):
2.2 Değişken Yapılandırması
Kamera parametreleri, konfigürasyon değişkeni değiştirilerek güncellenir.
cam.configuration = {'maruz kalma süresi': 10e-3,
'yatırım getirisi': (1, 1, 512, 512),
'en zamanamp': 'ascii',
'piksel hızı': 100_000_000,
'tetikleyici': 'otomatik sıra',
'edinme': 'otomatik',
'meta veriler': 'açık',
'bindirme': (1, 1)}
Değişken yalnızca kayıt() işlevi çağrılmadan önce değiştirilebilir. Belirli sayıda girişi olan bir sözlüktür. Olası tüm öğelerin belirtilmesine gerek yoktur. Aşağıdakilerampdosya kodu yalnızca 'piksel hızını' değiştirir ve yapılandırmanın diğer öğelerini etkilemez.
cam olarak pco.Camera() ile:
cam.configuration = {'piksel hızı': 286_000_000}
cam.record()
…
2.3 Nesneleri
Bu bölümde pco.Camera sınıfı tarafından sunulan tüm nesneler açıklanmaktadır.
2.3.1 SDK
Nesne SDK'sı, uygulamanın tüm temel işlevlerine doğrudan erişim sağlar. pco.sdk.
>>> cam.sdk.get_temperature()
{'sensör sıcaklığı': 7.0, 'kamera sıcaklığı': 38.2, 'güç sıcaklığı': 36.7}
SDK işlevlerinden gelen tüm dönüş değerleri sözlüktür. Şu anda tüm kamera ayarları Kamera sınıfı kapsamında değildir. İlgili SDK işlevi çağrılarak özel ayarların doğrudan yapılması gerekir.
2.3.2 Kaydedici
Rec nesnesi, nesnenin tüm temel işlevlerine doğrudan erişim sağlar. pco.recorder. Doğrudan bir kaydedici sınıfı yöntemini çağırmak gerekli değildir. Tüm işlevler tamamen Camera sınıfının yöntemleri kapsamındadır.
https://www.pco.de/applications/
| PCO Avrupa +49 9441 2005 50 info@pco.de pco.de |
PCO Amerika +1 866 678 4566 info@pco-tech.com pco-tech.com |
PCO Asya +65 6549 7054 info@pco-imaging.com pco-imaging.com |
pco çin +86 512 67634643 info@pco.cn pco.cn |


Belgeler / Kaynaklar
![]() |
EXCELITAS TEKNOLOJİLERİ Python Yazılım Geliştirme Kiti [pdf] Kullanıcı Kılavuzu Python Yazılım Geliştirme Kiti, Yazılım Geliştirme Kiti, Geliştirme Kiti, Kit |




