

Python Proqram İnkişafı Kiti
İstifadəçi təlimatı

Python Proqram İnkişafı Kiti
PCO sizdən bu sənəddəki təlimatları diqqətlə oxumağınızı və onlara əməl etməyinizi xahiş edir.
Hər hansı bir sualınız və ya şərhiniz üçün istənilən vaxt bizimlə əlaqə saxlayın.
telefon: +49 (0) 9441 2005 50
faks: +49 (0) 9441 2005 20
Poçt ünvanı: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Almaniya
e-poçt: info@pco.de
web: www.pco.de
pco.python istifadəçi təlimatı 0.1.7
2021-ci ilin dekabrında buraxıldı
©Müəllif hüququ Excelitas PCO GmbH
Bu iş Creative Commons Attribution-No Derivatives 4.0 Beynəlxalq Lisenziyası əsasında lisenziyalaşdırılıb. Kimə view bu lisenziyanın surətini ziyarət edin http://creativecommons.org/licenses/by-nd/4.0/ və ya Creative Commons, PO Box 1866, Mountain-a məktub göndərin View, CA 94042, ABŞ.
General
Python pco paketi cərəyana əsaslanan pco kameraları ilə işləmək üçün bütün funksiyaları təklif edir pco.sdk. Kamera ilə əlaqə və sonrakı təsvirin işlənməsi üçün bütün paylaşılan kitabxanalar daxil edilmişdir.
- İstifadəsi asan kamera sinfi
- Güclü API pco.sdk
- Şəklin yazılması və işlənməsi pco.recorder
1.1 Quraşdırma
Pypi-dən quraşdırın (tövsiyə olunur):
$ pip quraşdırma pco
1.2 Əsas İstifadə
matplotlib.pyplot faylını plt olaraq idxal edin
idxal pco
pco.Camera() ilə kamera olaraq:
cam.record()
şəkil, meta = cam.image()
plt.imshow(şəkil, cmap='boz')
plt.show()
1.3 Hadisə və Xətaların Qeydiyyatı
Giriş çıxışını aktivləşdirmək üçün debuglevel= parametri ilə Camera obyektini yaradın.
Sazlama səviyyəsi aşağıdakı dəyərlərdən birinə təyin edilə bilər:
- 'off' Bütün çıxışları söndürür.
- 'xəta' Yalnız səhv mesajlarını göstərir.
- 'müxtəlif' Bütün mesajları göstərir.
- 'əlavə ətraflı' Bütün mesajları və dəyərləri göstərir.
Varsayılan sazlama səviyyəsi "söndürülmüşdür".
pco.Camera(debuglevel='müxtəlif')
…
[][sdk] get_camera_type: OK.
İsteğe bağlı vaxtamp= parametr a aktivləşdirir tag çap olunmuş çıxışda. Mümkün dəyərlər: 'on' və 'off'. Varsayılan dəyər 'off'dur.
pco.Camera(debuglevel='müxtəlif', vaxt həddiniamp='on')
…
[2019-11-25 15:54:15.317855 / 0.016 s] [][sdk] get_camera_type: OK.
API Sənədləri
pco.Camera sinfi aşağıdakı üsulları təklif edir:
- record() yeni yazıcı nümunəsini yaradır, konfiqurasiya edir və işə salır.
- stop() cari qeydi dayandırır.
- close() cari aktiv kameranı bağlayır və işğal edilmiş resursları buraxır.
- image() yazıcıdan bir şəkili numpy massivi kimi qaytarır.
- images() yazıcıdan bütün qeydə alınmış şəkilləri numpy massivlərin siyahısı kimi qaytarır.
- image_average() orta ölçülü şəkli qaytarır. Bu şəkil buferdə bütün qeydə alınmış şəkillərdən hesablanır.
- set_exposure_time() kamera üçün ekspozisiya vaxtını təyin edir.
- wait_for_first_image() yazıcı yaddaşında ilk mövcud təsviri gözləyir.
pco.Camera sinfi aşağıdakı dəyişənə malikdir:
- konfiqurasiya
pco.Camera sinfi aşağıdakı obyektlərə malikdir:
- sdk bütün əsas funksiyalarına birbaşa çıxış təklif edir pco.sdk.
- qeyd cihazının bütün əsas funksiyalarına birbaşa çıxış təklif edir pco.recorder.
2.1 Metodlar
Bu bölmə pco.Camera sinfinin təklif etdiyi bütün üsulları təsvir edir.
2.1.1 Qeyd
Təsvir Yeni yazıcı nümunəsini yaradır, konfiqurasiya edir və işə salır. Record() funksiyasına zəng etməzdən əvvəl bütün kamera konfiqurasiyası qurulmalıdır. set_exposure_time() əmri yeganə istisnadır. Bu funksiyanın yazıcı obyektinə heç bir təsiri yoxdur və onu qeyd zamanı çağırmaq olar.
Prototip def qeydi(self,şəkillərin_sayı=1, rejim='ardıcıllıq'):
Parametr
| ad | Təsvir |
| şəkillərin_sayı | Sürücüdə ayrılmış şəkillərin sayını təyin edir. PC-nin RAM maksimum dəyəri məhdudlaşdırır. |
| rejimi | "Ardıcıllıq" rejimində bu funksiya qeyd zamanı bloklanır. Şəkillərin_sayına çatdıqda yazıcı avtomatik olaraq dayanır. "Ardıcıllıqla bloklanmayan" rejimində bu funksiya bloklanmır. Şəkili oxumazdan əvvəl status yoxlanılmalıdır. Bu rejim qeyd zamanı şəkilləri oxumaq üçün istifadə olunur, məsələn, miniatür. 'Rəng bufer' rejimində bu funksiya bloklanmır. Şəkili oxumazdan əvvəl status yoxlanılmalıdır. Şəkillərin_sayına çatdıqda yazıcı qeydi dayandırmır. Bu baş verdikdən sonra ən köhnə şəkillərin üzərinə yazılır. 'Fifo' rejimində bu funksiya bloklanmır. Şəkili oxumazdan əvvəl status yoxlanılmalıdır. Fifo-dakı şəkillərin_sayı əldə edildikdə, fifo-dan şəkillər oxunana qədər aşağıdakı şəkillər atılır. |
2.1.2 dayan
Təsvir Cari qeydi dayandırır. "Zəng buferi" və "fifo" rejimində bu funksiya istifadəçi tərəfindən çağırılmalıdır. "Ardıcıllıq" və "ardıcıllıqla bloklanmamaq" rejimində bu funksiya şəkillərin_sayına çatdıqda avtomatik olaraq çağırılır.
Prototip def stop(self):
2.1.3 Bağlayın
Təsvir Aktivləşdirilmiş kameranı bağlayır və bloklanmış resursları buraxır. Tətbiq dayandırılmadan əvvəl bu funksiya çağırılmalıdır. Əks halda, resurslar işğal altında qalır.
Prototip def yaxın(öz):
Kamera obyekti with ifadəsi ilə yaradılarsa, bu funksiya avtomatik olaraq çağırılır. Bağlamaq () üçün açıq çağırış artıq lazım deyil.
pco.Camera() ilə cam olaraq: # bəzi şeylər edin
2.1.4 Şəkil
Təsvir Yazıcıdan şəkil qaytarır. Şəklin növü numpy.ndarray-dır. Bu massiv təsvirin həllediciliyindən və ROI-dən asılı olaraq formalaşır.
Prototip def image(self, image_number=0, roi=Yoxdur):
Parametr
| ad | Təsvir |
| şəkil_nömrəsi | Oxunacaq şəklin nömrəsini təyin edir. "Ardıcıllıq" və ya "ardıcıllıqla bloklanmayan" rejimində qeyd cihazının indeksi image_nömrəsinə uyğun gəlir. Şəkil_nömrəsi 0xFFFFFFFF olaraq təyin edilərsə, sonuncu qeydə alınmış şəkil kopyalanır. Bu, canlı bir pre yaratmağa imkan verirview qeyd edərkən. |
| roi | Maraq bölgəsini təyin edir. Şəklin yalnız bu bölgəsi qaytarılan dəyərə kopyalanır. |
Example >>> cam.record(şəkillərin_sayı=1, rejim='ardıcıllıq')
>>> şəkil, meta = cam.image()
>>> type(şəkil) numpy.ndarray
>>> şəkil.şəkil (2160, 2560)
>>> şəkil, metadata = cam.image(roi=(1, 1, 300, 300))
>>> şəkil.şəkil (300, 300)
2.1.5 Şəkil
Təsvir Qeydiyyatdan bütün qeydə alınmış şəkilləri çox sayda massivlərin siyahısı kimi qaytarır.
Prototip def şəkilləri (self, roi = Yoxdur, blok ölçüsü = Yoxdur):
Parametr
| ad | Təsvir |
| roi | Maraq bölgəsini təyin edir. Şəklin yalnız bu bölgəsi qaytarılan dəyərə kopyalanır. |
| blok ölçüsü | Qaytarılan şəkillərin maksimum sayını müəyyən edir. Bu parametr yalnız "fifo" rejimində və xüsusi şərtlərdə faydalıdır. |
Example >>> cam.record(şəkillərin_sayı=20, rejim='ardıcıllıq')
>>> şəkillər, metadatalar = cam.images()
>>> len(şəkillər) 20
>>> şəkillərdəki şəkil üçün:
…
çap('Orta: {:7.2f} DN'.format(şəkil.mean()))
…
Orta: 2147.64 DN
Orta: 2144.61 DN
…
>>> şəkillər = cam.images(roi=(1, 1, 300, 300))
>>> şəkillər[0].forma (300, 300)
2.1.6 Şəkil_orta
Təsvir Ortalanmış şəkli qaytarır. Bu şəkil buferdə bütün qeydə alınmış şəkillərdən hesablanır.
Prototip def image_average(self, roi=Heç biri):
Parametr
| ad | Təsvir |
| roi | Maraq bölgəsini müəyyənləşdirir. Şəklin yalnız bu bölgəsi qaytarılan dəyərə kopyalanır. |
Example >>> cam.record(şəkillərin_sayı=100, rejim='ardıcıllıq')
>>> orta = cam.image_orta()
>>> orta = cam.image_orta(roi=(1, 1, 300, 300))
2.1.7 Ekspozisiya_vaxtını təyin edin
Təsvir Kameranın ekspozisiya vaxtını təyin edir.
Prototip def set_exposure_time(self, exposure_time):
Parametr
| ad | Təsvir |
| təsir vaxtı | "Saniyə" vahidində float və ya tam dəyər kimi verilməlidir. sdk.set_delay_exposure_time(0, 'ms', time, timebase) funksiyası üçün əsas dəyərlər avtomatik hesablanacaq. Gecikmə vaxtı 0-a təyin edilmişdir. |
Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 İlk şəkli_gözləyin
Təsvir Yazıcı yaddaşında ilk mövcud təsviri gözləyir. Recorder rejimində "ardıcıllıqla bloklanmayan", "ring buferi". və 'fifo', rekord() funksiyası dərhal qayıdır. Buna görə də, bu funksiya image(), images() və ya image_average() çağırmazdan əvvəl kameradan şəkilləri gözləmək üçün istifadə edilə bilər.
Prototip def gözləyin_ilk_şəkil(öz):
2.2 Dəyişənlərin konfiqurasiyası
Kamera parametrləri konfiqurasiya dəyişəninin dəyişdirilməsi ilə yenilənir.
cam.configuration = {'maruz qalma müddəti': 10e-3,
'roi': (1, 1, 512, 512),
'zamanamp': 'ascii',
'piksel dərəcəsi': 100_000_000,
'trigger': 'avtomatik ardıcıllıq',
'almaq': 'avtomatik',
'metadata': 'on',
'binning': (1, 1)}
Dəyişən yalnız record() funksiyası çağırılana qədər dəyişdirilə bilər. Bu, müəyyən sayda girişi olan lüğətdir. Bütün mümkün elementləri müəyyən etmək lazım deyil. Aşağıdakı sample kodu yalnız 'piksel sürətini' dəyişdirir və konfiqurasiyanın hər hansı digər elementlərinə təsir göstərmir.
pco.Camera() ilə kamera olaraq:
cam.configuration = {'piksel dərəcəsi': 286_000_000}
cam.record()
…
2.3 Obyektlər
Bu bölmə pco.Camera sinfi tərəfindən təklif olunan bütün obyektləri təsvir edir.
2.3.1 SDK
SDK obyekti bütün əsas funksiyalarına birbaşa çıxış imkanı verir pco.sdk.
>>> cam.sdk.get_temperature()
{'sensor temperaturu': 7.0, 'kamera temperaturu': 38.2, 'güc temperaturu': 36.7}
sdk funksiyalarından bütün qaytarılan dəyərlər lüğətlərdir. Bütün kamera parametrləri hazırda Camera sinfi ilə əhatə olunmur. Xüsusi parametrlər müvafiq sdk funksiyasına zəng etməklə birbaşa təyin edilməlidir.
2.3.2 Yazıçı
Obyekt rec-in bütün əsas funksiyalarına birbaşa çıxış təklif edir pco.recorder. Birbaşa yazıcı sinif metodunu çağırmaq lazım deyil. Bütün funksiyalar Camera sinifinin metodları ilə tam əhatə olunub.
https://www.pco.de/applications/
| pco avropa +49 9441 2005 50 info@pco.de pco.de |
pco amerika +1 866 678 4566 info@pco-tech.com pco-tech.com |
pco asiya +65 6549 7054 info@pco-imaging.com pco-imaging.com |
pco çin +86 512 67634643 info@pco.cn pco.cn |


Sənədlər / Resurslar
![]() | Python Proqram İnkişafı Kiti |
İstinadlar
- Deed - Attribution-NoDerivatives 4.0 Beynəlxalq - Creative Commonscreativecommons.org
- mailto:info@pco.depco.de
- PCO | Excelitaswww.pco.de
- PCO | Excelitaswww.pco.de
- İstifadəçi təlimatımanual.tools
