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 միջազգային լիցենզիայի ներքո: Դեպի view այս լիցենզիայի պատճենը, այցելեք http://creativecommons.org/licenses/by-nd/4.0/ կամ նամակ ուղարկեք Creative Commons, PO Box 1866, Mountain View, CA 94042, ԱՄՆ։
Գեներալ
Python փաթեթը pco-ն առաջարկում է բոլոր գործառույթները pco տեսախցիկների հետ աշխատելու համար, որոնք հիմնված են հոսանքի վրա pco.sdk. Ներառված են տեսախցիկի հետ կապի և հետագա պատկերների մշակման բոլոր ընդհանուր գրադարանները:
- Հեշտ օգտագործման տեսախցիկի դաս
- Հզոր API դեպի pco.sdk
- Պատկերի ձայնագրում և մշակում հետ pco. ձայնագրիչ
1.1 Տեղադրում
Տեղադրեք pypi-ից (խորհուրդ է տրվում).
$ pip install pco
1.2 Հիմնական օգտագործումը
ներմուծել matplotlib.pyplot որպես plt
ներմուծում pco
հետ pco.Camera() որպես տեսախցիկ:
cam.record()
պատկեր, մետա = cam.image()
plt.imshow (պատկեր, cmap='մոխրագույն')
plt.show ()1.3 Իրադարձությունների և սխալների գրանցում
Լոգինգի ելքը ակտիվացնելու համար ստեղծեք Camera օբյեկտը 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 դասը առաջարկում է հետևյալ մեթոդները.
- record()-ը ստեղծում, կազմաձևում և սկսում է ձայնագրիչի նոր օրինակ:
- stop() դադարեցնում է ընթացիկ ձայնագրությունը:
- close() փակում է ընթացիկ ակտիվ տեսախցիկը և ազատում զբաղեցրած ռեսուրսները:
- image()-ը ձայնագրիչից պատկեր է վերադարձնում որպես անփայլ զանգված:
- images()-ը վերադարձնում է ձայնագրիչից բոլոր գրանցված պատկերները որպես անփույթ զանգվածների ցուցակ:
- image_average()-ը վերադարձնում է միջինացված պատկերը: Այս պատկերը հաշվարկվում է բուֆերում գրանցված բոլոր պատկերներից:
- set_exposure_time()-ը սահմանում է խցիկի ազդեցության ժամանակը:
- Wait_for_first_image() սպասում է առաջին հասանելի պատկերին ձայնագրիչի հիշողության մեջ:
Pco.Camera դասը ունի հետևյալ փոփոխականը.
- կոնֆիգուրացիա
Pco.Camera դասը ունի հետևյալ օբյեկտները.
- sdk-ն առաջարկում է ուղղակի մուտք դեպի բոլոր հիմնական գործառույթները pco.sdk.
- Ձայնագրիչն առաջարկում է անմիջական մուտք դեպի բոլոր հիմնական գործառույթները pco. ձայնագրիչ.
2.1 Մեթոդներ
Այս բաժինը նկարագրում է pco.Camera դասի կողմից առաջարկվող բոլոր մեթոդները:
2.1.1 Գրառում
Նկարագրություն Ստեղծում, կարգավորում և գործարկում է ձայնագրիչի նոր օրինակ: Ամբողջ տեսախցիկի կոնֆիգուրացիան պետք է սահմանվի նախքան ռեկորդը () կանչելը: Set_exposure_time() հրամանը միակ բացառությունն է: Այս գործառույթը չի ազդում ձայնագրիչի օբյեկտի վրա և կարող է կանչվել ձայնագրման ընթացքում:
Նախատիպ def գրառում (ինքնուրույն, պատկերների_թիվ=1, ռեժիմ='հաջորդականություն'):
Պարամետր
Անուն | Նկարագրություն |
պատկերների_քանակ | Սահմանում է վարորդում հատկացված պատկերների քանակը: ԱՀ-ի RAM-ը սահմանափակում է առավելագույն արժեքը: |
ռեժիմ | «Հաջորդական» ռեժիմում այս ֆունկցիան արգելափակվում է ձայնագրման ընթացքում: Ձայնագրիչը ինքնաբերաբար դադարում է, երբ հասնում է պատկերների_քանակը: «Հաջորդականություն չարգելափակող» ռեժիմում այս ֆունկցիան անարգելափակող է: Պատկերը կարդալուց առաջ պետք է ստուգել կարգավիճակը: Այս ռեժիմն օգտագործվում է ձայնագրման ընթացքում պատկերներ կարդալու համար, օրինակ՝ մանրապատկեր: «Օղակաձեւ բուֆեր» ռեժիմում այս ֆունկցիան արգելափակող չէ: Պատկերը կարդալուց առաջ պետք է ստուգել կարգավիճակը: Ձայնագրիչը չի դադարեցնում ձայնագրումը, երբ հասնում է_պատկերների_քանակը: Երբ դա տեղի ունենա, ամենահին պատկերները վերագրվում են: «Fifo» ռեժիմում այս գործառույթը չի արգելափակում: Պատկերը կարդալուց առաջ պետք է ստուգել կարգավիճակը: Երբ հասնում է fifo_ի_պատկերների թիվը, հետևյալ պատկերները հանվում են այնքան ժամանակ, մինչև նկարները կարդացվեն fifo-ից: |
2.1.2 Կանգ առեք
Նկարագրություն Դադարեցնում է ընթացիկ ձայնագրությունը: «ring buffer» և «fifo» ռեժիմներում այս գործառույթը պետք է կանչվի օգտագործողի կողմից: «sequence» և «sequence non blocking» ռեժիմներում այս ֆունկցիան ավտոմատ կերպով կանչվում է, երբ հասնում է պատկերների_քանակը:
Նախատիպ def stop(self):
2.1.3 Փակել
Նկարագրություն Փակում է ակտիվացված տեսախցիկը և ազատում արգելափակված ռեսուրսները: Այս գործառույթը պետք է կանչվի մինչև հավելվածի դադարեցումը: Հակառակ դեպքում ռեսուրսները մնում են օկուպացված։
Նախատիպ def close(self):
Այս ֆունկցիան ավտոմատ կերպով կանչվում է, եթե տեսախցիկի օբյեկտը ստեղծվել է with ցուցումով: Close()-ի հստակ կոչն այլևս անհրաժեշտ չէ:
pco.Camera()-ով որպես տեսախցիկ՝ # որոշ բաներ անել
2.1.4 Պատկեր
Նկարագրություն Վերադարձնում է պատկեր ձայնագրիչից: Պատկերի տեսակը numpy.ndarray է: Այս զանգվածը ձևավորվում է կախված պատկերի լուծաչափից և ROI-ից:
Նախատիպ Def image (self, image_number=0, roi=None):
Պարամետր
Անուն | Նկարագրություն |
պատկեր_համար | Նշում է ընթերցվող պատկերի թիվը: «sequence» կամ «sequence non blocking» ռեժիմում ձայնագրիչի ինդեքսը համապատասխանում է image_number-ին: Եթե պատկերի_համարը դրված է 0xFFFFFFFF, վերջին գրանցված պատկերը պատճենվում է: Սա թույլ է տալիս ստեղծել կենդանի նախաview ձայնագրման ժամանակ։ |
roi | Սահմանում է հետաքրքրության շրջանը: Պատկերի միայն այս հատվածը պատճենվում է վերադարձի արժեքին: |
Example >>> cam.record (պատկերների_համար=1, ռեժիմ='հաջորդականություն')
>>> պատկեր, մետա = cam.image()
>>> type(image) numpy.ndarray
>>> image.shape (2160, 2560)
>>> պատկեր, մետատվյալներ = cam.image(roi=(1, 1, 300, 300))
>>> image.shape (300, 300)
2.1.5 Պատկերներ
Նկարագրություն Վերադարձնում է ձայնագրիչից բոլոր գրանցված պատկերները՝ որպես անփույթ զանգվածների ցանկ:
Նախատիպ def պատկերներ (self, roi=Ոչ մի, blocksize=Ոչ մեկը):
Պարամետր
Անուն | Նկարագրություն |
roi | Սահմանում է հետաքրքրության շրջանը: Պատկերի միայն այս հատվածը պատճենվում է վերադարձի արժեքին: |
բլոկի չափը | Սահմանում է վերադարձվող պատկերների առավելագույն քանակը: Այս պարամետրը օգտակար է միայն «fifo» ռեժիմում և հատուկ պայմաններում: |
Example >>> cam.record (պատկերների_համար=20, ռեժիմ='հաջորդականություն')
>>> պատկերներ, մետատվյալներ = cam.images()
>>> len (պատկերներ) 20
>>> պատկերների համար՝
…
print('Mean: {:7.2f} DN'.format(image.mean()))
…
Միջինը՝ 2147.64 DN
Միջինը՝ 2144.61 DN
…
>>> պատկերներ = cam.images(roi=(1, 1, 300, 300))
>>> պատկերներ[0].shape (300, 300)
2.1.6 Պատկեր_միջին
Նկարագրություն Վերադարձնում է միջինացված պատկերը: Այս պատկերը հաշվարկվում է բուֆերում գրանցված բոլոր պատկերներից:
Նախատիպ def image_average(self, roi=Ոչ մեկը):
Պարամետր
Անուն | Նկարագրություն |
roi | Սահմանում է հետաքրքրության շրջանը: Պատկերի միայն այս հատվածը պատճենվում է վերադարձի արժեքին: |
Example >>> cam.record (պատկերների_համար=100, ռեժիմ='հաջորդականություն')
>>> միջին = cam.image_average()
>>> միջին = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 Սահմանել_բացահայտման_ժամանակ
Նկարագրություն Սահմանում է խցիկի բացահայտման ժամանակը:
Նախատիպ def set_exposure_time (self, 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)
2.1.8 Սպասեք_առաջին_պատկերին
Նկարագրություն Սպասում է առաջին հասանելի պատկերին ձայնագրիչի հիշողության մեջ: Ձայնագրիչի ռեժիմում «sequence non blocking», «ring buffer»: և «fifo», ֆունկցիայի ռեկորդը () անմիջապես վերադառնում է: Հետևաբար, այս ֆունկցիան կարող է օգտագործվել տեսախցիկից պատկերներ սպասելու համար՝ նախքան image(), images() կամ image_average() կանչելը:
Նախատիպ def wait_for_first_image(self):
2.2 Փոփոխական կոնֆիգուրացիա
Տեսախցիկի պարամետրերը թարմացվում են՝ փոխելով կազմաձևման փոփոխականը:
cam.configuration = {'բացահայտման ժամանակ'՝ 10e-3,
«roi»: (1, 1, 512, 512),
«ժամանակamp': 'ascii',
«պիքսելային արագություն»՝ 100_000_000,
'trigger': 'auto sequence',
'ձեռք բերել': 'ավտո',
'մետատվյալներ': 'on',
'binning': (1, 1)}
Փոփոխականը կարող է փոխվել միայն մինչև record() ֆունկցիան կանչելը: Դա բառարան է որոշակի թվով մուտքերով։ Ոչ բոլոր հնարավոր տարրերը պետք է հստակեցվեն: Հետևյալ սample կոդը փոխում է միայն «պիքսելների արագությունը» և չի ազդում կազմաձևման այլ տարրերի վրա:
հետ pco.Camera() որպես տեսախցիկ:
cam.configuration = {'pixel rate'՝ 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 ֆունկցիաներից բառարաններ են: Տեսախցիկի ոչ բոլոր կարգավորումներն են ներկայումս ընդգրկված Camera դասի կողմից: Հատուկ կարգավորումները պետք է սահմանվեն անմիջապես՝ զանգահարելով համապատասխան sdk ֆունկցիան:
2.3.2 Ձայնագրիչ
Օբյեկտը rec-ն առաջարկում է ուղղակի մուտք դեպի բոլոր հիմքում ընկած գործառույթները pco. ձայնագրիչ. Անհրաժեշտ չէ ուղղակիորեն ձայնագրիչ դասի մեթոդ կանչել: Բոլոր գործառույթներն ամբողջությամբ ծածկված են Camera դասի մեթոդներով։
https://www.pco.de/applications/
pco Europe +49 9441 2005 50 info@pco.de pco.de |
pco america +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 |
Փաստաթղթեր / ռեսուրսներ
![]() |
EXCELITAS TECHNOLOGIES Python Software Development Kit [pdf] Օգտագործողի ձեռնարկ Python Software Development Kit, Software Development Kit, Development Kit, Kit |