

Kit Pembangunan Perisian Python
Manual Pengguna

Kit Pembangunan Perisian Python
PCO meminta anda membaca dengan teliti dan mengikut arahan dalam dokumen ini.
Untuk sebarang pertanyaan atau komen, sila hubungi kami pada bila-bila masa.
telefon: +49 (0) 9441 2005 50
faks: +49 (0) 9441 2005 20
alamat pos: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Jerman
e-mel: info@pco.de
web: www.pco.de
manual pengguna pco.python 0.1.7
Dikeluarkan pada Disember 2021
©Hak Cipta Excelitas PCO GmbH
Kerja ini dilesenkan di bawah Lesen Antarabangsa Creative Commons Attribution-No Derivatives 4.0 International. Kepada view salinan lesen ini, lawati http://creativecommons.org/licenses/by-nd/4.0/ atau hantar surat kepada Creative Commons, Peti Surat 1866, Gunung View, CA 94042, Amerika Syarikat.
Umum
Pakej Python pco menawarkan semua fungsi untuk bekerja dengan kamera pco yang berdasarkan semasa pco.sdk. Semua perpustakaan kongsi untuk komunikasi dengan kamera dan pemprosesan imej seterusnya disertakan.
- Kelas kamera yang mudah digunakan
- API berkuasa untuk pco.sdk
- Rakaman dan pemprosesan imej dengan pco.recorder
1.1 Pemasangan
Pasang dari pypi (disyorkan):
$ pip pasang pco
1.2 Penggunaan Asas
import matplotlib.pyplot sebagai plt
import pco
dengan pco.Camera() sebagai cam:
cam.record()
imej, meta = cam.image()
plt.imshow(imej, cmap='kelabu')
plt.show()
1.3 Pengelogan Peristiwa dan Ralat
Untuk mengaktifkan output pengelogan, cipta objek Kamera dengan parameter debuglevel=.
Tahap nyahpepijat boleh ditetapkan kepada salah satu nilai berikut:
- 'mati' Melumpuhkan semua output.
- 'error' Menunjukkan hanya mesej ralat.
- 'verbose' Menunjukkan semua mesej.
- 'extra verbose' Menunjukkan semua mesej dan nilai.
Tahap nyahpepijat lalai adalah 'dimatikan'.
pco.Camera(debuglevel='verbose')
…
[][sdk] get_camera_type: OK.
Masa pilihanamp= parameter mengaktifkan a tag dalam keluaran bercetak. Nilai yang mungkin ialah: 'hidup' dan 'mati'. Nilai lalai ialah 'mati'.
pco.Camera(debuglevel='verbose', timestamp='on')
…
[2019-11-25 15:54:15.317855 / 0.016 s] [][sdk] get_camera_type: OK.
Dokumentasi API
Kelas pco.Camera menawarkan kaedah berikut:
- record() menjana, mengkonfigurasi dan memulakan contoh perakam baharu.
- stop() menghentikan rakaman semasa.
- close() menutup kamera aktif semasa dan melepaskan sumber yang diduduki.
- image() mengembalikan imej daripada perakam sebagai tatasusunan numpy.
- images() mengembalikan semua imej yang dirakam daripada perakam sebagai senarai tatasusunan numpy.
- image_average() mengembalikan imej purata. Imej ini dikira daripada semua imej yang dirakam dalam penimbal.
- set_exposure_time() menetapkan masa pendedahan untuk kamera.
- wait_for_first_image() menunggu imej pertama yang tersedia dalam memori perakam.
Kelas pco.Camera mempunyai pembolehubah berikut:
- konfigurasi
Kelas pco.Camera mempunyai objek berikut:
- sdk menawarkan akses terus kepada semua fungsi asas pco.sdk.
- perakam menawarkan akses terus kepada semua fungsi asas pco.recorder.
2.1 Kaedah
Bahagian ini menerangkan semua kaedah yang ditawarkan oleh kelas pco.Camera.
2.1.1 Rekod
Penerangan Mencipta, mengkonfigurasi dan memulakan contoh perakam baharu. Keseluruhan konfigurasi kamera mesti ditetapkan sebelum memanggil record(). Perintah set_exposure_time() adalah satu-satunya pengecualian. Fungsi ini tidak mempunyai kesan pada objek perakam dan boleh dipanggil semasa rakaman.
Prototaip rekod def(diri, bilangan_imej=1, mod='jujukan'):
Parameter
| Nama | Penerangan |
| bilangan_imej | Menetapkan bilangan imej yang diperuntukkan dalam pemacu. RAM PC mengehadkan nilai maksimum. |
| mod | Dalam mod 'jujukan', fungsi ini menyekat semasa rakaman. Perakam berhenti secara automatik apabila bilangan_imej dicapai. Dalam mod 'jujukan tidak menyekat', fungsi ini tidak menyekat. Status mesti disemak sebelum membaca imej. Mod ini digunakan untuk membaca imej semasa merakam, cth thumbnail. Dalam mod 'ring buffer' fungsi ini tidak menyekat. Status mesti disemak sebelum membaca imej. Perakam tidak menghentikan rakaman apabila bilangan_imej dicapai. Sebaik sahaja ini berlaku, imej tertua akan ditimpa. Dalam mod 'fifo', fungsi ini tidak menyekat. Status mesti diperiksa sebelum membaca imej. Apabila bilangan_imej dalam fifo dicapai, imej berikut digugurkan sehingga imej dibaca daripada fifo. |
2.1.2 Berhenti
Penerangan Menghentikan rakaman semasa. Dalam mod 'ring buffer' dan 'fifo', fungsi ini mesti dipanggil oleh pengguna. Dalam mod 'jujukan' dan 'jujukan tidak menyekat', fungsi ini dipanggil secara automatik apabila bilangan_imej dicapai.
Prototaip def stop(self):
2.1.3 Tutup
Penerangan Menutup kamera yang diaktifkan dan mengeluarkan sumber yang disekat. Fungsi ini mesti dipanggil sebelum permohonan ditamatkan. Jika tidak, sumber tetap diduduki.
Prototaip def close(self):
Fungsi ini dipanggil secara automatik jika objek kamera dicipta oleh pernyataan dengan. Panggilan eksplisit untuk menutup() tidak lagi diperlukan.
dengan pco.Camera() sebagai cam: # lakukan beberapa perkara
2.1.4 Imej
Penerangan Mengembalikan imej daripada perakam. Jenis imej ialah numpy.ndarray. Tatasusunan ini dibentuk bergantung pada resolusi dan ROI imej.
Prototaip imej def(diri, nombor_imej=0, roi=Tiada):
Parameter
| Nama | Penerangan |
| nombor_gambar | Menentukan bilangan imej yang akan dibaca. Dalam mod 'jujukan' atau 'jujukan tidak menyekat', indeks perakam sepadan dengan nombor_imej. Jika image_number ditetapkan kepada 0xFFFFFFFF, imej rakaman terakhir akan disalin. Ini membolehkan anda membuat pra langsungview semasa merakam. |
| roi | Menetapkan kawasan yang diminati. Hanya kawasan imej ini disalin ke nilai pulangan. |
Example >>> cam.record(bilangan_imej=1, mod='jujukan')
>>> imej, meta = cam.image()
>>> taip(imej) numpy.ndarray
>>> image.shape (2160, 2560)
>>> imej, metadata = cam.image(roi=(1, 1, 300, 300))
>>> image.shape (300, 300)
2.1.5 Imej
Penerangan Mengembalikan semua imej yang dirakam daripada perakam sebagai senarai tatasusunan numpy.
Prototaip imej def(diri, roi=Tiada, saiz blok=Tiada):
Parameter
| Nama | Penerangan |
| roi | Menetapkan kawasan yang diminati. Hanya kawasan imej ini disalin ke nilai pulangan. |
| saiz blok | Mentakrifkan bilangan maksimum imej yang dikembalikan. Parameter ini hanya berguna dalam mod 'fifo' dan dalam keadaan khas. |
Example >>> cam.record(bilangan_imej=20, mod='jujukan')
>>> imej, metadata = cam.images()
>>> len(imej) 20
>>> untuk gambar dalam gambar:
…
print('Min: {:7.2f} DN'.format(image.mean()))
…
Min: 2147.64 DN
Min: 2144.61 DN
…
>>> imej = cam.images(roi=(1, 1, 300, 300))
>>> imej[0].bentuk (300, 300)
2.1.6 Imej_purata
Penerangan Mengembalikan imej purata. Imej ini dikira daripada semua imej yang dirakam dalam penimbal.
Prototaip def image_average(self, roi=None):
Parameter
| Nama | Penerangan |
| roi | Mentakrifkan kawasan yang diminati. Hanya kawasan imej ini disalin ke nilai pulangan. |
Example >>> cam.record(bilangan_imej=100, mod='jujukan')
>>> purata = cam.image_average()
>>> purata = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 Tetapkan_masa_pendedahan
Penerangan Menetapkan masa pendedahan kamera.
Prototaip def set_exposure_time(self, exposure_time):
Parameter
| Nama | Penerangan |
| masa dedahan | Mesti diberikan sebagai nilai apungan atau integer dalam unit 'saat'. Nilai asas untuk fungsi sdk.set_delay_exposure_time(0, 'ms', time, timebase) akan dikira secara automatik. Masa tunda ditetapkan kepada 0. |
Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 Tunggu_untuk_gambar_pertama
Penerangan Menunggu imej pertama yang tersedia dalam memori perakam. Dalam mod perakam 'sequence non blocking', 'ring buffer'. dan 'fifo', rekod fungsi() kembali serta-merta. Oleh itu, fungsi ini boleh digunakan untuk menunggu imej daripada kamera sebelum memanggil imej(), imej(), atau image_average().
Prototaip def wait_for_first_image(self):
2.2 Tatarajah Pembolehubah
Parameter kamera dikemas kini dengan menukar pembolehubah konfigurasi.
cam.configuration = {'masa pendedahan': 10e-3,
'roi': (1, 1, 512, 512),
'masaamp': 'ascii',
'kadar piksel': 100_000_000,
'pencetus': 'urutan auto',
'peroleh': 'auto',
'metadata': 'hidup',
'binning': (1, 1)}
Pembolehubah hanya boleh ditukar sebelum fungsi rekod() dipanggil. Ia adalah kamus dengan bilangan entri tertentu. Tidak semua elemen yang mungkin perlu dinyatakan. s berikutampkod hanya mengubah 'kadar piksel' dan tidak menjejaskan mana-mana elemen konfigurasi lain.
dengan pco.Camera() sebagai cam:
cam.configuration = {'kadar piksel': 286_000_000}
cam.record()
…
2.3 Objek
Bahagian ini menerangkan semua objek yang ditawarkan oleh kelas pco.Camera.
2.3.1 SDK
Objek sdk membenarkan akses terus kepada semua fungsi asas pco.sdk.
>>> cam.sdk.get_temperature()
{'suhu sensor': 7.0, 'suhu kamera': 38.2, 'suhu kuasa': 36.7}
Semua nilai pulangan daripada fungsi sdk adalah kamus. Tidak semua tetapan kamera pada masa ini dilindungi oleh kelas Kamera. Tetapan khas perlu ditetapkan terus dengan memanggil fungsi sdk masing-masing.
2.3.2 Perakam
Rek objek menawarkan akses terus kepada semua fungsi asas pco.recorder. Ia tidak perlu memanggil kaedah kelas perakam secara langsung. Semua fungsi dilindungi sepenuhnya oleh kaedah kelas Kamera.
https://www.pco.de/applications/
| pco eropah +49 9441 2005 50 info@pco.de pco.de |
pco amerika +1 866 678 4566 info@pco-tech.com pco-tech.com |
pco asia +65 6549 7054 info@pco-imaging.com pco-imaging.com |
pco china +86 512 67634643 info@pco.cn pco.cn |


Dokumen / Sumber
![]() | Kit Pembangunan Perisian Python |
Rujukan
- Surat Ikatan - Atribusi-NoDerivatives 4.0 Antarabangsa - Creative Commonscreativecommons.org
- mailto:info@pco.depco.de
- PCO | Excelitaswww.pco.de
- PCO | Excelitaswww.pco.de
- Manual Penggunamanual.tools
