Logotipo de EXCELITAS TECHNOLOGIESLogotipo de EXCELITAS TECHNOLOGIES 1Kit de desenvolvemento de software Python
Manual de usuarioEXCELITAS TECHNOLOGIES Kit de desenvolvemento de software PythonLogotipo de EXCELITAS TECHNOLOGIES 2

Kit de desenvolvemento de software Python

PCO pídelle que lea atentamente e siga as instrucións deste documento.
Para calquera dúbida ou comentario, póñase en contacto connosco en calquera momento.
teléfono: +49 (0) 9441 2005 50
Fax: +49 (0) 9441 2005 20
Enderezo postal: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Alemaña
correo electrónico: info@pco.de
web: www.pco.de
manual de usuario pco.python 0.1.7
Publicado en decembro de 2021
©Copyright Excelitas PCO GmbH
EXCELITAS TECHNOLOGIES Kit de desenvolvemento de software Python - icona 1Esta obra está baixo a licenza internacional Creative Commons Recoñecemento-Sen Derivados 4.0. Para view unha copia desta licenza, visite http://creativecommons.org/licenses/by-nd/4.0/ ou envíe unha carta a Creative Commons, PO Box 1866, Mountain View, CA 94042, EUA.

Xeral

O paquete Python pco ofrece todas as funcións para traballar con cámaras pco que se basean na actualidade pco.sdk. Inclúense todas as bibliotecas compartidas para a comunicación coa cámara e o posterior procesamento de imaxes.

  • Clase de cámara fácil de usar
  • Potente API para pco.sdk
  • Gravación e tratamento de imaxes con pco.recorder

1.1 Instalación
Instalar desde pypi (recomendado):
$pip install pco
1.2 Uso básico
importar matplotlib.pyplot como plt
importar pco
con pco.Camera() como cámara:
cam.record()
imaxe, meta = cam.image()
plt.imshow(imaxe, cmap='gris')
plt.show()EXCELITAS TECHNOLOGIES Kit de desenvolvemento de software Python - Uso básico1.3 Rexistro de eventos e erros
Para activar a saída de rexistro, cree o obxecto Camera co parámetro debuglevel=.
O nivel de depuración pódese establecer nun dos seguintes valores:

  • 'off' Desactiva todas as saídas.
  • 'erro' Mostra só mensaxes de erro.
  • 'verbose' Mostra todas as mensaxes.
  • 'extra verbose' Mostra todas as mensaxes e valores.

O nivel de depuración predeterminado é "desactivado".
pco.Camera(debuglevel='verbose')

[[][sdk] get_camera_type: Aceptar.
O tempo opcionalamp= parámetro activa a tag na saída impresa. Os valores posibles son: 'on' e 'off'. O valor predeterminado é "desactivado".
pco.Camera(debuglevel='verbose', timestamp='on')

[2019/11/25 15:54:15.317855/0.016 s] [][sdk] get_camera_type: OK.

Documentación API

A clase pco.Camera ofrece os seguintes métodos:

  • record() xera, configura e inicia unha nova instancia de gravadora.
  • stop() detén a gravación actual.
  • close() pecha a cámara activa actual e libera os recursos ocupados.
  • image() devolve unha imaxe do gravador como matriz numpy.
  • images() devolve todas as imaxes gravadas do gravador como unha lista de matrices numpy.
  • image_average() devolve a imaxe media. Esta imaxe calcúlase a partir de todas as imaxes gravadas no búfer.
  • set_exposure_time() establece o tempo de exposición para a cámara.
  • wait_for_first_image() agarda pola primeira imaxe dispoñible na memoria da gravadora.

A clase pco.Camera ten a seguinte variable:

  • configuración

A clase pco.Camera ten os seguintes obxectos:

  • sdk ofrece acceso directo a todas as funcións subxacentes do ficheiro pco.sdk.
  • gravadora ofrece acceso directo a todas as funcións subxacentes do pco.recorder.

2.1 Métodos
Esta sección describe todos os métodos que ofrece a clase pco.Camera.
2.1.1 Rexistro
Descrición Crea, configura e inicia unha nova instancia de gravadora. Debe establecerse toda a configuración da cámara antes de chamar a record(). O comando set_exposure_time() é a única excepción. Esta función non ten efecto sobre o obxecto gravador e pódese activar durante a gravación.
Prototipo def record(self, number_of_images=1, mode='sequence'):
Parámetro

Nome Descrición
número_de_imaxes Establece o número de imaxes asignadas no controlador. A RAM do PC limita o valor máximo.
modo No modo "secuencia", esta función está bloqueando durante a gravación. A gravadora detense automaticamente cando se alcanza o número_de_imaxes. No modo "secuencia sen bloqueo", esta función non é bloqueadora. O estado debe comprobarse antes de ler unha imaxe. Este modo úsase para ler imaxes durante a gravación, por exemplo, miniaturas.
No modo "buffer de anel" esta función non bloquea. O estado debe comprobarse antes de ler unha imaxe. A gravadora non detén a gravación cando se alcanza o número_de_imaxes. Unha vez que isto ocorre, as imaxes máis antigas son sobreescritas.
No modo 'fifo', esta función non bloquea. O estado debe comprobarse antes de ler unha imaxe. Cando se alcanza o número_de_imaxes no fifo, as seguintes imaxes quítanse ata que se len as imaxes do fifo.

2.1.2 Pare
Descrición Detén a gravación actual. No modo 'buffer de anel' e 'fifo', esta función debe ser chamada polo usuario. No modo "secuencia" e "secuencia sen bloqueo", esta función chámase automaticamente cando se alcanza o número_de_imaxes.
Prototipo def stop(self):
2.1.3 Pechar
Descrición Pecha a cámara activada e libera os recursos bloqueados. Esta función debe ser chamada antes de que a aplicación remate. En caso contrario, os recursos seguen ocupados.
Prototipo def close(self):
Esta función chámase automaticamente se o obxecto da cámara é creado pola instrución with. Xa non é necesaria unha chamada explícita a close().
con pco.Camera() como leva: # fai algunhas cousas
2.1.4 Imaxe
Descrición Devolve unha imaxe da gravadora. O tipo da imaxe é un numpy.ndarray. Esta matriz ten forma dependendo da resolución e do ROI da imaxe.
Prototipo def image(self, image_number=0, roi=None):
Parámetro

Nome Descrición
número_imaxe Especifica o número da imaxe que se vai ler. No modo "secuencia" ou "secuencia sen bloqueo", o índice da gravadora coincide co número_imagen. Se image_number está definido como 0xFFFFFFFF, cópiase a última imaxe gravada. Isto permite crear un preview durante a gravación.
roi Establece a rexión de interese. Só esta rexión da imaxe cópiase no valor de retorno.

Example >>> cam.record(número_de_imaxes=1, modo='secuencia')
>>> imaxe, meta = cam.image()
>>> escriba (imaxe) numpy.ndarray
>>> image.shape (2160, 2560)
>>> imaxe, metadatos = cam.image(roi=(1, 1, 300, 300))
>>> image.shape (300, 300)
2.1.5 Imaxes
Descrición Devolve todas as imaxes gravadas da gravadora como unha lista de matrices numpy.
Prototipo imaxes def (self, roi=None, blocksize=None):
Parámetro

Nome Descrición
roi Establece a rexión de interese. Só esta rexión da imaxe cópiase no valor de retorno.
tamaño de bloque Define o número máximo de imaxes que se devolven. Este parámetro só é útil no modo 'fifo' e en condicións especiais.

Example >>> cam.record(número_de_imaxes=20, modo='secuencia')
>>> imaxes, metadatos = cam.images()
>>> len(imaxes) 20
>>> para imaxes en imaxes:

print('Media: {:7.2f} DN'.format(image.mean()))

Media: 2147.64 DN
Media: 2144.61 DN

>>> imaxes = cam.images(roi=(1, 1, 300, 300))
>>> imaxes[0].forma (300, 300)
2.1.6 Imaxe_media
Descrición Devolve a imaxe media. Esta imaxe calcúlase a partir de todas as imaxes gravadas no búfer.
Prototipo def image_average(self, roi=None):
Parámetro

Nome Descrición
roi Define a rexión de interese. Só esta rexión da imaxe cópiase no valor de retorno.

Example >>> cam.record(número_de_imaxes=100, modo='secuencia')
>>> media = cam.image_average()
>>> avg = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 Establecer_tempo_de_exposición
Descrición Establece o tempo de exposición da cámara.
Prototipo def set_exposure_time(self, exposición_tempo):
Parámetro

Nome Descrición
tempo de exposición Debe indicarse como un valor flotante ou enteiro na unidade "segundo". Os valores subxacentes para a función sdk.set_delay_exposure_time(0, 'ms', time, timebase) calcularanse automaticamente. O tempo de atraso está establecido en 0.

Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 Agardar_a_primeira_imaxe
Descrición Agarda pola primeira imaxe dispoñible na memoria da gravadora. No modo de gravación "secuencia sen bloqueo", "búfer de anel". e 'fifo', a función record() devolve inmediatamente. Polo tanto, esta función pódese usar para esperar imaxes da cámara antes de chamar a image(), images() ou image_average().
Prototipo def wait_for_first_image(self):
2.2 Configuración variable
Os parámetros da cámara actualízanse cambiando a variable de configuración.
cam.configuration = {'tempo de exposición': 10e-3,
'roi': (1, 1, 512, 512),
'o máis tempoamp': 'ascii',
'taxa de píxeles': 100_000_000,
'trigger': 'secuencia automática',
'adquirir': 'automático',
'metadata': 'on',
'binning': (1, 1)}
A variable só se pode cambiar antes de que se chame a función record(). É un dicionario cun certo número de entradas. Non é preciso especificar todos os elementos posibles. Os seguintes sampO código do ficheiro só cambia a "taxa de píxeles" e non afecta a ningún outro elemento da configuración.
con pco.Camera() como cámara:
cam.configuration = {'taxa de píxeles': 286_000_000}
cam.record()

2.3 Obxectos
Esta sección describe todos os obxectos que ofrece a clase pco.Camera.
2.3.1 SDK
O obxecto sdk permite o acceso directo a todas as funcións subxacentes do ficheiro pco.sdk.
>>> cam.sdk.get_temperature()
{'temperatura do sensor': 7.0, 'temperatura da cámara': 38.2, 'temperatura da potencia': 36.7}
Todos os valores de retorno das funcións sdk son dicionarios. Non todas as configuracións da cámara están actualmente cubiertas pola clase Cámara. As configuracións especiais deben establecerse directamente chamando á función sdk respectiva.
2.3.2 Gravadora
O obxecto rec ofrece acceso directo a todas as funcións subxacentes do pco.recorder. Non é necesario chamar directamente a un método de clase gravadora. Todas as funcións están totalmente cubertas polos métodos da clase Camera.

EXCELITAS TECHNOLOGIES Kit de desenvolvemento de software Python - QR cotehttps://www.pco.de/applications/

pco europa
+49 9441 2005 50
info@pco.de
pco.de
pco américa
+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

Logotipo de EXCELITAS TECHNOLOGIESLogotipo de EXCELITAS TECHNOLOGIES 1

Documentos/Recursos

EXCELITAS TECHNOLOGIES Kit de desenvolvemento de software Python [pdfManual do usuario
Kit de desenvolvemento de software Python, kit de desenvolvemento de software, kit de desenvolvemento, kit

Referencias

Deixa un comentario

O teu enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados *