

ຊຸດພັດທະນາຊອບແວ Python
ຄູ່ມືຜູ້ໃຊ້

ຊຸດພັດທະນາຊອບແວ Python
PCO ຂໍໃຫ້ທ່ານອ່ານຢ່າງລະອຽດ ແລະປະຕິບັດຕາມຄໍາແນະນໍາໃນເອກະສານນີ້.
ສໍາລັບຄໍາຖາມຫຼືຄໍາຄິດຄໍາເຫັນ, ກະລຸນາຕິດຕໍ່ຫາພວກເຮົາໄດ້ທຸກເວລາ.
ໂທລະສັບ: +49 (0) 9441 2005 50
ແຟັກ: +49 (0) 9441 2005 20
ທີ່ຢູ່ໄປສະນີ: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, ເຢຍລະມັນ
ອີເມວ: info@pco.de
web: www.pco.de
ຄູ່ມືຜູ້ໃຊ້ pco.python 0.1.7
ປ່ອຍອອກມາເມື່ອເດືອນທັນວາ 2021
©ລິຂະສິດ Excelitas PCO GmbH
ວຽກງານນີ້ໄດ້ຮັບອະນຸຍາດພາຍໃຕ້ Creative Commons Attribution-No Derivatives 4.0 International License. ເຖິງ view ສໍາເນົາຂອງໃບອະນຸຍາດນີ້, ໄປຢ້ຽມຢາມ http://creativecommons.org/licenses/by-nd/4.0/ ຫຼືສົ່ງຈົດໝາຍຫາ Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
ທົ່ວໄປ
ຊຸດ Python pco ສະຫນອງຫນ້າທີ່ທັງຫມົດສໍາລັບການເຮັດວຽກກັບກ້ອງຖ່າຍຮູບ pco ທີ່ອີງໃສ່ປະຈຸບັນ pco.sdk. ຫ້ອງສະຫມຸດທີ່ໃຊ້ຮ່ວມກັນທັງຫມົດສໍາລັບການສື່ສານກັບກ້ອງຖ່າຍຮູບແລະການປະມວນຜົນຮູບພາບຕໍ່ມາແມ່ນລວມ.
- ງ່າຍທີ່ຈະໃຊ້ຫ້ອງຮຽນກ້ອງຖ່າຍຮູບ
- API ທີ່ມີປະສິດທິພາບເພື່ອ pco.sdk
- ການບັນທຶກຮູບພາບແລະການປະມວນຜົນກັບ pco.recorder
1.1 ການຕິດຕັ້ງ
ຕິດຕັ້ງຈາກ pypi (ແນະນຳ):
$ pip ຕິດຕັ້ງ pco
1.2 ການນຳໃຊ້ພື້ນຖານ
ນໍາເຂົ້າ matplotlib.pyplot ເປັນ plt
ນໍາເຂົ້າ pco
ກັບ pco.Camera() ເປັນ cam:
cam.record()
ຮູບພາບ, meta = cam.image()
plt.imshow(ຮູບ, cmap='grey')
plt.show()
1.3 ເຫດການ ແລະ ບັນທຶກຄວາມຜິດພາດ
ເພື່ອເປີດໃຊ້ງານການອອກບັນທຶກ, ສ້າງວັດຖຸກ້ອງຖ່າຍຮູບດ້ວຍຕົວກໍານົດການ debuglevel=.
ລະດັບການດີບັກສາມາດຖືກຕັ້ງເປັນໜຶ່ງໃນຄ່າຕໍ່ໄປນີ້:
- 'ປິດ' ປິດການໃຊ້ງານຜົນຜະລິດທັງໝົດ.
- 'error' ສະແດງພຽງແຕ່ຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດ.
- 'verbose' ສະແດງຂໍ້ຄວາມທັງຫມົດ.
- 'extra verbose' ສະແດງຂໍ້ຄວາມ ແລະຄ່າທັງໝົດ.
ລະດັບດີບັກເລີ່ມຕົ້ນແມ່ນ 'ປິດ'.
pco.Camera(debuglevel='verbose')
…
[][sdk] get_camera_type: ຕົກລົງ.
ເວລາທາງເລືອກamp= ພາຣາມິເຕີເປີດໃຊ້ງານ a tag ໃນຜົນຜະລິດທີ່ພິມອອກ. ຄ່າທີ່ເປັນໄປໄດ້ແມ່ນ: 'ເປີດ' ແລະ 'ປິດ'. ຄ່າເລີ່ມຕົ້ນແມ່ນ 'ປິດ'.
pco.Camera(debuglevel='verbose', ເວລາສຸດamp='on')
…
[2019-11-25 15:54:15.317855 / 0.016 s] [][sdk] get_camera_type: OK.
ເອກະສານ API
ຫ້ອງຮຽນ pco.Camera ສະເຫນີວິທີການດັ່ງຕໍ່ໄປນີ້:
- record() ສ້າງ, configure, ແລະເລີ່ມ instance ຕົວບັນທຶກໃຫມ່.
- stop() ຢຸດການບັນທຶກປະຈຸບັນ.
- close() ປິດກ້ອງຖ່າຍຮູບທີ່ໃຊ້ຢູ່ໃນປະຈຸບັນ ແລະປ່ອຍຊັບພະຍາກອນທີ່ຄອບຄອງໄວ້.
- image() ສົ່ງຄືນຮູບພາບຈາກເຄື່ອງບັນທຶກເປັນ array numpy.
- images() ສົ່ງຄືນຮູບພາບທີ່ບັນທຶກໄວ້ທັງໝົດຈາກເຄື່ອງບັນທຶກເປັນລາຍຊື່ຂອງ arrays.
- image_average() ສົ່ງຄືນຮູບພາບສະເລ່ຍ. ຮູບພາບນີ້ແມ່ນຖືກຄິດໄລ່ຈາກທຸກຮູບພາບທີ່ບັນທຶກໄວ້ໃນ buffer.
- set_exposure_time() ກໍານົດເວລາ exposure ສໍາລັບກ້ອງຖ່າຍຮູບ.
- wait_for_first_image() ລໍຖ້າຮູບພາບທໍາອິດທີ່ມີຢູ່ໃນຫນ່ວຍຄວາມຈໍາຂອງເຄື່ອງບັນທຶກ.
ຫ້ອງຮຽນ pco.Camera ມີຕົວແປດັ່ງຕໍ່ໄປນີ້:
- ການຕັ້ງຄ່າ
ຫ້ອງຮຽນ pco.Camera ມີວັດຖຸດັ່ງຕໍ່ໄປນີ້:
- sdk ສະຫນອງການເຂົ້າເຖິງໂດຍກົງກັບຫນ້າທີ່ພື້ນຖານທັງຫມົດຂອງ pco.sdk.
- recorder ສະ ຫນອງ ການ ເຂົ້າ ເຖິງ ໂດຍ ກົງ ກັບ ຫນ້າ ທີ່ ຕິດ ພັນ ທັງ ຫມົດ ຂອງ pco.recorder.
2.1 ວິທີການ
ພາກນີ້ອະທິບາຍວິທີການທັງໝົດທີ່ສະເໜີໃຫ້ໂດຍຫ້ອງຮຽນ pco.Camera.
2.1.1 ບັນທຶກ
ລາຍລະອຽດ ສ້າງ, ຕັ້ງຄ່າ, ແລະເລີ່ມຕົວຢ່າງຕົວບັນທຶກໃໝ່. ການຕັ້ງຄ່າກ້ອງຖ່າຍຮູບທັງໝົດຕ້ອງຖືກຕັ້ງກ່ອນການໂທບັນທຶກ(). ຄໍາສັ່ງ set_exposure_time() ເປັນຂໍ້ຍົກເວັ້ນເທົ່ານັ້ນ. ຟັງຊັນນີ້ບໍ່ມີຜົນຕໍ່ກັບວັດຖຸເຄື່ອງບັນທຶກ ແລະສາມາດຖືກເອີ້ນຂຶ້ນໃນລະຫວ່າງການບັນທຶກ.
ຕົ້ນແບບ def record(self, number_of_images=1, mode='sequence'):
ພາລາມິເຕີ
| ຊື່ | ລາຍລະອຽດ |
| number_of_images | ກໍານົດຈໍານວນຮູບພາບທີ່ຈັດສັນຢູ່ໃນໄດເວີ. RAM ຂອງ PC ຈໍາກັດຄ່າສູງສຸດ. |
| ໂໝດ | ໃນໂຫມດ 'ລໍາດັບ', ຟັງຊັນນີ້ຖືກປິດກັ້ນໃນລະຫວ່າງການບັນທຶກ. ເຄື່ອງບັນທຶກຈະຢຸດອັດຕະໂນມັດເມື່ອຮອດຈໍານວນຮູບ. ໃນໂຫມດ 'sequence non blocking', ຟັງຊັ່ນນີ້ແມ່ນບໍ່ຖືກບລັອກ. ສະຖານະຕ້ອງໄດ້ຮັບການກວດສອບກ່ອນທີ່ຈະອ່ານຮູບພາບ. ໂໝດນີ້ໃຊ້ເພື່ອອ່ານຮູບພາບໃນຂະນະທີ່ບັນທຶກ, ຕົວຢ່າງເຊັ່ນ: ຮູບຕົວຢ່າງ. ໃນໂຫມດ 'ring buffer' ຟັງຊັນນີ້ບໍ່ຖືກບລັອກ. ສະຖານະຕ້ອງໄດ້ຮັບການກວດສອບກ່ອນທີ່ຈະອ່ານຮູບພາບ. ຕົວບັນທຶກບໍ່ຢຸດການບັນທຶກເມື່ອເຖິງ number_of_images. ເມື່ອສິ່ງດັ່ງກ່າວເກີດຂຶ້ນ, ຮູບພາບເກົ່າແກ່ທີ່ສຸດຈະຖືກຂຽນທັບ. ໃນໂຫມດ 'fifo', ຟັງຊັນນີ້ແມ່ນບໍ່ຖືກບລັອກ. ສະຖານະຕ້ອງໄດ້ຮັບການກວດສອບກ່ອນທີ່ຈະອ່ານຮູບພາບ. ເມື່ອເຖິງຕົວເລກ number_of_images ໃນ fifo, ຮູບພາບຕໍ່ໄປນີ້ຈະຖືກຫຼຸດລົງຈົນກວ່າຮູບພາບຈະຖືກອ່ານຈາກ fifo. |
2.1.2 ຢຸດ
ລາຍລະອຽດ ຢຸດການບັນທຶກປະຈຸບັນ. ໃນໂຫມດ 'ring buffer' ແລະ 'fifo', ຟັງຊັນນີ້ຕ້ອງຖືກເອີ້ນໂດຍຜູ້ໃຊ້. ໃນໂຫມດ 'ລໍາດັບ' ແລະ 'ລໍາດັບບໍ່ຖືກບລັອກ', ຟັງຊັນນີ້ຈະຖືກເອີ້ນໂດຍອັດຕະໂນມັດເມື່ອຈໍານວນຮູບພາບເຖິງ.
ຕົ້ນແບບ def stop(ຕົວເອງ):
2.1.3 ປິດ
ລາຍລະອຽດ ປິດກ້ອງຖ່າຍຮູບທີ່ເປີດໃຊ້ງານ ແລະປ່ອຍຊັບພະຍາກອນທີ່ຖືກບລັອກ. ຟັງຊັນນີ້ຕ້ອງຖືກເອີ້ນກ່ອນທີ່ແອັບພລິເຄຊັນຈະຖືກປິດ. ຖ້າບໍ່ດັ່ງນັ້ນ, ຊັບພະຍາກອນຍັງຄົງຢູ່.
ຕົ້ນແບບ def close(ຕົວເອງ):
ຟັງຊັນນີ້ຖືກເອີ້ນໂດຍອັດຕະໂນມັດຖ້າວັດຖຸກ້ອງຖ່າຍຮູບຖືກສ້າງຂື້ນໂດຍຄໍາຖະແຫຼງທີ່. ການໂທຫາຢ່າງຈະແຈ້ງເພື່ອປິດ() ແມ່ນບໍ່ຈໍາເປັນອີກຕໍ່ໄປ.
ກັບ pco.Camera() ເປັນ cam: # ເຮັດບາງສິ່ງບາງຢ່າງ
2.1.4 ຮູບພາບ
ລາຍລະອຽດ ສົ່ງຄືນຮູບພາບຈາກເຄື່ອງບັນທຶກ. ປະເພດຂອງຮູບພາບແມ່ນ numpy.ndarray. array ນີ້ແມ່ນຮູບຮ່າງຂຶ້ນກັບຄວາມລະອຽດແລະ ROI ຂອງຮູບພາບ.
ຕົ້ນແບບ def image(self, image_number=0, roi=None):
ພາລາມິເຕີ
| ຊື່ | ລາຍລະອຽດ |
| ໝາຍເລກຮູບ | ລະບຸຈໍານວນຮູບພາບທີ່ຈະອ່ານ. ໃນໂໝດ 'ລຳດັບ' ຫຼື 'ລຳດັບບໍ່ບລັອກ', ດັດຊະນີເຄື່ອງບັນທຶກກົງກັບໝາຍເລກ image_number. ຖ້າ image_number ຖືກຕັ້ງເປັນ 0xFFFFFFFF, ຮູບພາບທີ່ບັນທຶກໄວ້ສຸດທ້າຍຈະຖືກຄັດລອກ. ນີ້ອະນຸຍາດໃຫ້ສ້າງ pre ສົດview ໃນຂະນະທີ່ບັນທຶກ. |
| ໂຣ | ກໍານົດພາກພື້ນທີ່ມີຄວາມສົນໃຈ. ພຽງແຕ່ພາກພື້ນນີ້ຂອງຮູບພາບທີ່ຖືກຄັດລອກໄປຫາຄ່າກັບຄືນ. |
Example >>> cam.record(number_of_images=1, mode='sequence')
>>> ຮູບພາບ, meta = cam.image()
>>> type(ຮູບ) numpy.ndarray
>>> image.shape (2160, 2560)
>>> ຮູບພາບ, metadata = cam.image(roi=(1, 1, 300, 300))
>>> image.shape (300, 300)
2.1.5 ຮູບພາບ
ລາຍລະອຽດ ສົ່ງຄືນຮູບພາບທີ່ບັນທຶກໄວ້ທັງໝົດຈາກເຄື່ອງບັນທຶກເປັນລາຍຊື່ຂອງ arrays.
ຕົ້ນແບບ def images(self, roi=None, blocksize=None):
ພາລາມິເຕີ
| ຊື່ | ລາຍລະອຽດ |
| ໂຣ | ກໍານົດພາກພື້ນທີ່ມີຄວາມສົນໃຈ. ພຽງແຕ່ພາກພື້ນນີ້ຂອງຮູບພາບທີ່ຖືກຄັດລອກໄປຫາຄ່າກັບຄືນ. |
| ຂະໜາດ | ກໍານົດຈໍານວນສູງສຸດຂອງຮູບພາບທີ່ຖືກສົ່ງຄືນ. ພາລາມິເຕີນີ້ມີປະໂຫຍດພຽງແຕ່ຢູ່ໃນໂຫມດ 'fifo' ແລະພາຍໃຕ້ເງື່ອນໄຂພິເສດ. |
Example >>> cam.record(number_of_images=20, mode='sequence')
>>> ຮູບພາບ, metadatas = cam.images()
>>> ເລນ(ພາບ) 20
>>> ສໍາລັບຮູບພາບໃນຮູບພາບ:
…
print('Mean: {:7.2f} DN'.format(image.mean()))
…
ສະເລ່ຍ: 2147.64 DN
ສະເລ່ຍ: 2144.61 DN
…
>>> ຮູບພາບ = cam.images(roi=(1, 1, 300, 300))
>>> images[0].ຮູບຮ່າງ (300, 300)
2.1.6 Image_average
ລາຍລະອຽດ ຕອບຮູບພາບສະເລ່ຍ. ຮູບພາບນີ້ແມ່ນຖືກຄິດໄລ່ຈາກທຸກຮູບພາບທີ່ບັນທຶກໄວ້ໃນ buffer.
ຕົ້ນແບບ def image_average(ຕົນເອງ, roi=ບໍ່ມີ):
ພາລາມິເຕີ
| ຊື່ | ລາຍລະອຽດ |
| ໂຣ | ກໍານົດພາກພື້ນທີ່ມີຄວາມສົນໃຈ. ພຽງແຕ່ພາກພື້ນນີ້ຂອງຮູບພາບທີ່ຖືກຄັດລອກໄປຫາຄ່າກັບຄືນ. |
Example >>> cam.record(number_of_images=100, mode='sequence')
>>> avg = cam.image_average()
>>> avg = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 Set_exposure_time
ລາຍລະອຽດ ຕັ້ງຄ່າເວລາເປີດຮັບແສງຂອງກ້ອງຖ່າຍຮູບ.
ຕົ້ນແບບ def set_exposure_time(ຕົນເອງ, exposure_time):
ພາລາມິເຕີ
| ຊື່ | ລາຍລະອຽດ |
| ເວລາການສຳຜັດເຊື້ອ | ຕ້ອງໃຫ້ເປັນຄ່າ float ຫຼື integer ໃນຫົວໜ່ວຍ 'second'. ຄ່າພື້ນຖານສຳລັບຟັງຊັນ sdk.set_delay_exposure_time(0, 'ms', time, timebase) ຈະຖືກຄຳນວນໂດຍອັດຕະໂນມັດ. ເວລາຊັກຊ້າແມ່ນຕັ້ງເປັນ 0. |
Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 Wait_for_first_image
ລາຍລະອຽດ ລໍຖ້າຮູບພາບທໍາອິດທີ່ມີຢູ່ໃນຫນ່ວຍຄວາມຈໍາຂອງເຄື່ອງບັນທຶກ. ໃນໂຫມດບັນທຶກ 'ລໍາດັບບໍ່ຂັດຂວາງ', 'ring buffer'. ແລະ 'fifo', function record() ກັບຄືນມາທັນທີ. ດັ່ງນັ້ນ, ຟັງຊັນນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອລໍຖ້າຮູບພາບຈາກກ້ອງຖ່າຍຮູບກ່ອນທີ່ຈະໂທຫາ image(), images(), ຫຼື image_average().
ຕົ້ນແບບ def wait_for_first_image(ຕົນເອງ):
2.2 ການຕັ້ງຄ່າຕົວແປ
ຕົວກໍານົດການກ້ອງຖ່າຍຮູບໄດ້ຖືກປັບປຸງໂດຍການປ່ຽນຕົວແປການຕັ້ງຄ່າ.
cam.configuration = {'ເວລາເປີດຮັບແສງ': 10e-3,
'roi': (1, 1, 512, 512),
'ເວລາທີ່ສຸດamp': 'ອາຊີ',
'ອັດຕາ pixels': 100_000_000,
'trigger': 'ລໍາດັບອັດຕະໂນມັດ',
'ໄດ້ມາ': 'ອັດຕະໂນມັດ',
'ເມຕາເດຕາ': 'ເປີດ',
'binning': (1, 1)}
ຕົວແປສາມາດປ່ຽນແປງໄດ້ກ່ອນທີ່ຟັງຊັນ record() ຈະຖືກເອີ້ນ. ມັນເປັນວັດຈະນານຸກົມທີ່ມີຈໍານວນທີ່ແນ່ນອນຂອງລາຍການ. ບໍ່ແມ່ນອົງປະກອບທີ່ເປັນໄປໄດ້ທັງຫມົດຕ້ອງໄດ້ຮັບການລະບຸ. ຕໍ່ໄປນີ້ sample code ພຽງແຕ່ປ່ຽນ 'ອັດຕາ pixels' ແລະບໍ່ມີຜົນກະທົບຕໍ່ອົງປະກອບອື່ນໆຂອງການຕັ້ງຄ່າ.
ກັບ pco.Camera() ເປັນ cam:
cam.configuration = {'ອັດຕາ pixels': 286_000_000}
cam.record()
…
2.3 ວັດຖຸ
ພາກນີ້ອະທິບາຍວັດຖຸທັງໝົດທີ່ສະເໜີໃຫ້ໂດຍຫ້ອງຮຽນ pco.Camera.
2.3.1 SDK
sdk ວັດຖຸອະນຸຍາດໃຫ້ເຂົ້າເຖິງໂດຍກົງກັບຫນ້າທີ່ພື້ນຖານທັງຫມົດຂອງ pco.sdk.
>>> cam.sdk.get_temperature()
{'ອຸນຫະພູມເຊັນເຊີ': 7.0, 'ອຸນຫະພູມກ້ອງຖ່າຍຮູບ': 38.2, 'ອຸນຫະພູມພະລັງງານ': 36.7}
ຄ່າກັບຄືນທັງໝົດຈາກຟັງຊັນ sdk ແມ່ນວັດຈະນານຸກົມ. ບໍ່ແມ່ນການຕັ້ງຄ່າກ້ອງຖ່າຍຮູບທັງໝົດໃນປັດຈຸບັນແມ່ນກວມເອົາໂດຍຫ້ອງຮຽນກ້ອງຖ່າຍຮູບ. ການຕັ້ງຄ່າພິເສດຕ້ອງຖືກຕັ້ງໂດຍກົງໂດຍການໂທຫາຟັງຊັນ sdk ທີ່ກ່ຽວຂ້ອງ.
2.3.2 ເຄື່ອງບັນທຶກ
ວັດຖຸ rec ສະຫນອງການເຂົ້າເຖິງໂດຍກົງກັບຫນ້າທີ່ພື້ນຖານທັງຫມົດຂອງ pco.recorder. ມັນບໍ່ຈໍາເປັນຕ້ອງໂທຫາວິທີການຫ້ອງຮຽນບັນທຶກໂດຍກົງ. ຟັງຊັນທັງຫມົດແມ່ນກວມເອົາຢ່າງເຕັມສ່ວນໂດຍວິທີການຂອງຫ້ອງຮຽນກ້ອງຖ່າຍຮູບ.
https://www.pco.de/applications/
| pco ເອີຣົບ +49 9441 2005 50 info@pco.de pco.de |
pco ອາເມຣິກາ +1 866 678 4566 info@pco-tech.com pco-tech.com |
pco ອາຊີ +65 6549 7054 info@pco-imaging.com pco-imaging.com |
pco ຈີນ +86 512 67634643 info@pco.cn pco.cn |


ເອກະສານ / ຊັບພະຍາກອນ
![]() | ຊຸດພັດທະນາຊອບແວ Python |
ເອກະສານອ້າງອີງ
- Deed - Attribution-NoDerivatives 4.0 International - Creative Commonscreativecommonsorg
- mailto:info@pco.depco.de
- PCO | Excelitaswww.pco.de
- PCO | Excelitaswww.pco.de
- ຄູ່ມືຜູ້ໃຊ້manual.tools
