पायथन सॉफ्टवेअर डेव्हलपमेंट किट
वापरकर्ता मॅन्युअल
पायथन सॉफ्टवेअर डेव्हलपमेंट किट
PCO तुम्हाला या दस्तऐवजातील सूचना काळजीपूर्वक वाचण्यास आणि त्यांचे पालन करण्यास सांगतात.
कोणत्याही प्रश्न किंवा टिप्पण्यांसाठी, कृपया आमच्याशी कधीही संपर्क साधा.
टेलिफोन: +49 (0) 9441 2005 50
फॅक्स: +49 (0) 9441 2005 20
पोस्टल पत्ता: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Germany
ईमेल: info@pco.de
web: www.pco.de
pco.python वापरकर्ता पुस्तिका 0.1.7
डिसेंबर २०२१ मध्ये रिलीझ झाले
©कॉपीराइट 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
- सह प्रतिमा रेकॉर्डिंग आणि प्रक्रिया पीसीओ.रेकॉर्डर
1.1 स्थापना
pypi वरून स्थापित करा (शिफारस केलेले):
$ pip pco स्थापित करा
१.२ मूलभूत वापर
matplotlib.pyplot plt म्हणून आयात करा
पीसीओ आयात करा
pco.Camera() सह कॅम म्हणून:
कॅम.रेकॉर्ड()
प्रतिमा, मेटा = cam.image()
plt.imshow(इमेज, cmap='ग्रे')
plt.show()1.3 इव्हेंट आणि एरर लॉगिंग
लॉगिंग आउटपुट सक्रिय करण्यासाठी, debuglevel= पॅरामीटरसह कॅमेरा ऑब्जेक्ट तयार करा.
डीबग पातळी खालीलपैकी एका मूल्यावर सेट केली जाऊ शकते:
- 'बंद' सर्व आउटपुट अक्षम करते.
- 'त्रुटी' फक्त त्रुटी संदेश दाखवते.
- 'व्हर्बोज' सर्व संदेश दाखवते.
- 'अतिरिक्त वर्बोज' सर्व संदेश आणि मूल्ये दर्शविते.
डीफॉल्ट डीबगलेव्हल 'बंद' आहे.
pco.Camera(debuglevel='verbose')
…
[][sdk] get_camera_type: ठीक आहे.
पर्यायी वेळamp= पॅरामीटर सक्रिय करते a tag मुद्रित आउटपुट मध्ये. संभाव्य मूल्ये आहेत: 'चालू' आणि 'बंद'. डीफॉल्ट मूल्य 'बंद' आहे.
pco.Camera(debuglevel='verbose', timestamp='चालू')
…
[2019-11-25 15:54:15.317855 / 0.016 s] [][sdk] get_camera_type: ठीक आहे.
API दस्तऐवजीकरण
pco.Camera वर्ग खालील पद्धती ऑफर करतो:
- रेकॉर्ड() नवीन रेकॉर्डर उदाहरण व्युत्पन्न करते, कॉन्फिगर करते आणि सुरू करते.
- stop() वर्तमान रेकॉर्डिंग थांबवते.
- close() वर्तमान सक्रिय कॅमेरा बंद करतो आणि व्यापलेली संसाधने सोडतो.
- image() रेकॉर्डरमधून numpy अॅरे म्हणून इमेज रिटर्न करते.
- images() रेकॉर्डरमधून सर्व रेकॉर्ड केलेल्या प्रतिमा numpy अॅरेची सूची म्हणून परत करते.
- image_average() सरासरी प्रतिमा मिळवते. ही प्रतिमा बफरमधील सर्व रेकॉर्ड केलेल्या प्रतिमांमधून मोजली जाते.
- set_exposure_time() कॅमेरासाठी एक्सपोजर वेळ सेट करते.
- wait_for_first_image() रेकॉर्डर मेमरीमधील पहिल्या उपलब्ध प्रतिमेची प्रतीक्षा करते.
pco.Camera क्लासमध्ये खालील व्हेरिएबल आहेत:
- कॉन्फिगरेशन
pco.Camera वर्गात खालील वस्तू आहेत:
- sdk च्या सर्व अंतर्निहित कार्यांमध्ये थेट प्रवेश प्रदान करते pco.sdk.
- रेकॉर्डर च्या सर्व अंतर्निहित कार्यांमध्ये थेट प्रवेश प्रदान करतो पीसीओ.रेकॉर्डर.
२.१ पद्धती
हा विभाग pco.Camera वर्गाद्वारे ऑफर केलेल्या सर्व पद्धतींचे वर्णन करतो.
2.1.1 रेकॉर्ड
वर्णन नवीन रेकॉर्डर उदाहरण तयार करते, कॉन्फिगर करते आणि सुरू करते. रेकॉर्ड () कॉल करण्यापूर्वी संपूर्ण कॅमेरा कॉन्फिगरेशन सेट करणे आवश्यक आहे. set_exposure_time() कमांड हा एकमेव अपवाद आहे. या फंक्शनचा रेकॉर्डर ऑब्जेक्टवर कोणताही परिणाम होत नाही आणि रेकॉर्डिंग दरम्यान कॉल केला जाऊ शकतो.
प्रोटोटाइप def रेकॉर्ड(स्व, number_of_images=1, mode='sequence'):
पॅरामीटर
नाव | वर्णन |
प्रतिमांची_संख्या | ड्रायव्हरमध्ये वाटप केलेल्या प्रतिमांची संख्या सेट करते. पीसीची रॅम कमाल मूल्य मर्यादित करते. |
मोड | 'क्रम' मोडमध्ये, हे फंक्शन रेकॉर्ड दरम्यान ब्लॉक करत आहे. चित्रांची_संख्या गाठल्यावर रेकॉर्डर आपोआप थांबतो. 'सिक्वेंस नॉन ब्लॉकिंग' मोडमध्ये, हे फंक्शन नॉन-ब्लॉकिंग आहे. प्रतिमा वाचण्यापूर्वी स्थिती तपासणे आवश्यक आहे. हा मोड रेकॉर्डिंग करताना प्रतिमा वाचण्यासाठी वापरला जातो, उदा. लघुप्रतिमा. 'रिंग बफर' मोडमध्ये हे कार्य नॉन ब्लॉकिंग आहे. प्रतिमा वाचण्यापूर्वी स्थिती तपासणे आवश्यक आहे. जेव्हा_चित्रांची_संख्या गाठली जाते तेव्हा रेकॉर्डर रेकॉर्डिंग थांबवत नाही. एकदा असे झाले की, सर्वात जुन्या प्रतिमा अधिलिखित केल्या जातात. 'फिफो' मोडमध्ये, हे कार्य नॉन-ब्लॉकिंग आहे. प्रतिमा वाचण्यापूर्वी स्थिती तपासणे आवश्यक आहे. फिफो मधील_प्रतिमांची_संख्या गाठल्यावर, फिफोमधून प्रतिमा वाचल्या जाईपर्यंत खालील प्रतिमा टाकल्या जातात. |
2.1.2 थांबा
वर्णन वर्तमान रेकॉर्डिंग थांबवते. 'रिंग बफर' आणि 'फिफो' मोडमध्ये, हे फंक्शन वापरकर्त्याने कॉल केले पाहिजे. 'sequence' आणि 'sequence non blocking' मोडमध्ये, number_of_images वर पोहोचल्यावर हे कार्य आपोआप कॉल केले जाते.
प्रोटोटाइप def stop(स्वतः):
2.1.3 बंद करा
वर्णन सक्रिय कॅमेरा बंद करते आणि अवरोधित संसाधने सोडते. अनुप्रयोग समाप्त होण्यापूर्वी हे कार्य कॉल करणे आवश्यक आहे. अन्यथा, संसाधने व्यापलेली राहतील.
प्रोटोटाइप def क्लोज (स्वतः):
विथ स्टेटमेंटने कॅमेरा ऑब्जेक्ट तयार केल्यास हे फंक्शन आपोआप कॉल केले जाते. बंद करण्यासाठी स्पष्ट कॉल () यापुढे आवश्यक नाही.
pco.Camera() कॅम म्हणून: # काही गोष्टी करा
2.1.4 प्रतिमा
वर्णन रेकॉर्डरमधून प्रतिमा मिळवते. प्रतिमेचा प्रकार numpy.ndarray आहे. प्रतिमेच्या रिझोल्यूशन आणि आरओआयवर अवलंबून या अॅरेला आकार दिला जातो.
प्रोटोटाइप def प्रतिमा(स्वत:, image_number=0, roi=None):
पॅरामीटर
नाव | वर्णन |
प्रतिमा_संख्या | वाचण्यासाठी इमेजची संख्या निर्दिष्ट करते. 'क्रम' किंवा 'सिक्वेंस नॉन ब्लॉकिंग' मोडमध्ये, रेकॉर्डर इंडेक्स इमेज_नंबरशी जुळतो. image_number 0xFFFFFFFF वर सेट केल्यास, शेवटची रेकॉर्ड केलेली प्रतिमा कॉपी केली जाते. हे थेट पूर्व तयार करण्यास अनुमती देतेview रेकॉर्डिंग करताना. |
roi | स्वारस्य क्षेत्र सेट करते. प्रतिमेचा फक्त हा प्रदेश रिटर्न व्हॅल्यूवर कॉपी केला आहे. |
Example >>> cam.record(number_of_images=1, mode='sequence')
>>> प्रतिमा, मेटा = cam.image()
>>> type(image) numpy.ndarray
>>> image.shape (2160, 2560)
>>> प्रतिमा, मेटाडेटा = cam.image(roi=(1, 1, 300, 300))
>>> image.shape (300, 300)
2.1.5 प्रतिमा
वर्णन रेकॉर्डरमधून सर्व रेकॉर्ड केलेल्या प्रतिमा numpy अॅरेची सूची म्हणून परत करते.
प्रोटोटाइप def प्रतिमा (स्वत:, roi=None, blocksize=None):
पॅरामीटर
नाव | वर्णन |
roi | स्वारस्य क्षेत्र सेट करते. प्रतिमेचा फक्त हा प्रदेश रिटर्न व्हॅल्यूवर कॉपी केला आहे. |
ब्लॉक आकार | परत केलेल्या प्रतिमांची कमाल संख्या परिभाषित करते. हे पॅरामीटर फक्त 'फिफो' मोडमध्ये आणि विशेष परिस्थितीत उपयुक्त आहे. |
Example >>> cam.record(number_of_images=20, mode='sequence')
>>> प्रतिमा, मेटाडेटा = cam.images()
>>> लेन(इमेज) २०
>>> प्रतिमांमधील प्रतिमेसाठी:
…
प्रिंट('मीन: {:7.2f} DN'.फॉर्मेट(image.mean()))
…
सरासरी: 2147.64 DN
सरासरी: 2144.61 DN
…
>>> प्रतिमा = cam.images(roi=(1, 1, 300, 300))
>>> प्रतिमा[0].आकार (३००, ३००)
2.1.6 प्रतिमा_सरासरी
वर्णन सरासरी प्रतिमा मिळवते. ही प्रतिमा बफरमधील सर्व रेकॉर्ड केलेल्या प्रतिमांमधून मोजली जाते.
प्रोटोटाइप def image_average(स्वत:, roi=काहीही नाही):
पॅरामीटर
नाव | वर्णन |
roi | स्वारस्य असलेल्या प्रदेशाची व्याख्या करते. प्रतिमेचा फक्त हा प्रदेश रिटर्न व्हॅल्यूवर कॉपी केला आहे. |
Example >>> cam.record(number_of_images=100, mode='sequence')
>>> सरासरी = cam.image_average()
>>> सरासरी = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 सेट_एक्सपोजर_टाइम
वर्णन कॅमेराचा एक्सपोजर वेळ सेट करते.
प्रोटोटाइप def set_exposure_time(स्वतः, exposure_time):
पॅरामीटर
नाव | वर्णन |
उद्भासन वेळ | युनिट 'सेकंड' मध्ये फ्लोट किंवा पूर्णांक मूल्य म्हणून दिले जाणे आवश्यक आहे. फंक्शन sdk.set_delay_exposure_time(0, 'ms', time, timebase) साठी अंतर्निहित मूल्ये आपोआप मोजली जातील. विलंब वेळ 0 वर सेट केला आहे. |
Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
२.१.८ प्रथम_प्रतिमेसाठी_प्रतीक्षा करा
वर्णन रेकॉर्डर मेमरीमधील पहिल्या उपलब्ध प्रतिमेची प्रतीक्षा करते. रेकॉर्डर मोडमध्ये 'सिक्वेंस नॉन ब्लॉकिंग', 'रिंग बफर'. आणि 'fifo', फंक्शन रेकॉर्ड() लगेच परत येतो. म्हणून, इमेज(), images(), किंवा image_average() कॉल करण्यापूर्वी कॅमेऱ्यातील प्रतिमांची प्रतीक्षा करण्यासाठी हे कार्य वापरले जाऊ शकते.
प्रोटोटाइप def wait_for_first_image(स्वतः):
2.2 व्हेरिएबल कॉन्फिगरेशन
कॉन्फिगरेशन व्हेरिएबल बदलून कॅमेरा पॅरामीटर्स अपडेट केले जातात.
cam.configuration = {'एक्सपोजर वेळ': 10e-3,
'roi': (1, 1, 512, 512),
'टाइमस्टamp': 'ascii',
'पिक्सेल दर': 100_000_000,
'trigger': 'स्वयं क्रम',
'acquire': 'ऑटो',
'मेटाडेटा': 'चालू',
'बिनिंग': (1, 1)}
रेकॉर्ड() फंक्शन कॉल करण्यापूर्वीच व्हेरिएबल बदलले जाऊ शकते. हा एक डिक्शनरी आहे ज्यामध्ये ठराविक नोंदी आहेत. सर्व संभाव्य घटक निर्दिष्ट करणे आवश्यक नाही. खालील एसample कोड फक्त 'पिक्सेल दर' बदलतो आणि कॉन्फिगरेशनच्या इतर घटकांवर परिणाम करत नाही.
pco.Camera() सह कॅम म्हणून:
cam.configuration = {'पिक्सेल दर': 286_000_000}
कॅम.रेकॉर्ड()
…
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 च्या सर्व अंतर्निहित कार्यांमध्ये थेट प्रवेश प्रदान करते पीसीओ.रेकॉर्डर. रेकॉर्डर क्लास पद्धत थेट कॉल करणे आवश्यक नाही. सर्व फंक्शन्स कॅमेरा क्लासच्या पद्धतींद्वारे पूर्णपणे कव्हर केले जातात.
https://www.pco.de/applications/
pco युरोप +४९ ७११ ४०० ४०९९० info@pco.de pco.de |
pco अमेरिका +४९ ७११ ४०० ४०९९० info@pco-tech.com pco-tech.com |
pco asia +४५ ७०२२ ५८४० info@pco-imaging.com pco-imaging.com |
pco चीन +४५ ७०२२ ५८४० info@pco.cn pco.cn |
कागदपत्रे / संसाधने
![]() |
EXCELITAS TECHNOLOGIES Python सॉफ्टवेअर डेव्हलपमेंट किट [pdf] वापरकर्ता मॅन्युअल पायथन सॉफ्टवेअर डेव्हलपमेंट किट, सॉफ्टवेअर डेव्हलपमेंट किट, डेव्हलपमेंट किट, किट |