Skip to content

Instantly share code, notes, and snippets.

@IlyaHalsky
Created February 7, 2023 16:25
Show Gist options
  • Save IlyaHalsky/d96ff6cd40973c3d0cb91eb0fea568e9 to your computer and use it in GitHub Desktop.
Save IlyaHalsky/d96ff6cd40973c3d0cb91eb0fea568e9 to your computer and use it in GitHub Desktop.
import logging
import platform
import sys
from time import sleep
from harvesters.core import Harvester
logging.basicConfig(stream=sys.stdout, format='%(asctime)s %(levelname)s %(name)s - %(message)s', level=logging.DEBUG)
logger = logging.getLogger('root')
def get_driver_path():
if platform.system() == "Linux":
return "/opt/mvIMPACT_Acquire/lib/x86_64/mvGenTLProducer.cti"
else:
return "C:\Program Files\MATRIX VISION\mvIMPACT Acquire\\bin\\x64\mvGenTLProducer.cti"
if __name__ == '__main__':
harvester = Harvester()
harvester.add_file(get_driver_path())
harvester.update()
device_list = harvester.device_info_list
camera = harvester.create({'serial_number': "H2420737"})
camera.remote_device.node_map.PixelFormat.value = "RGB8"
camera.remote_device.node_map.Height.value = 50
camera.remote_device.node_map.AcquisitionLineRate.value = 5000
camera.remote_device.node_map.ExposureTime.value = 197.0
camera.start()
for i in range(100):
with camera.fetch() as buffer:
payload = buffer.payload
if payload.components[0] is not None:
component = payload.components[0]
width = component.width
height = component.height
if width > 0 and height > 0:
logger.info(str(width) + " " + str(height))
else:
logger.warning("Wrong w/h of buffer %s/%s", width, height)
else:
logger.warning("Empty buffer received")
camera.stop()
logger.info("Sleeping")
sleep(10)
camera.start()
for i in range(100):
with camera.fetch() as buffer:
payload = buffer.payload
if payload.components[0] is not None:
component = payload.components[0]
width = component.width
height = component.height
if width > 0 and height > 0:
logger.info(str(width) + " " + str(height))
else:
logger.warning("Wrong w/h of buffer %s/%s", width, height)
else:
logger.warning("Empty buffer received")
camera.stop()
camera.destroy()
harvester.reset()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment