当前位置: 首页 > news >正文

wordpress 知名站点深圳专业网站制作费用

wordpress 知名站点,深圳专业网站制作费用,网页制作常用软件,跨境电商网络营销方式大恒相机开发(2)—Python软触发调用采集图像 完整代码详细解读和功能说明扩展学习 这段代码是一个Python程序,用于从大恒相机采集图像,通过软件触发来采集图像。 完整代码 咱们直接上python的完整代码: # version:…

大恒相机开发(2)—Python软触发调用采集图像

    • 完整代码
    • 详细解读和功能说明
    • 扩展学习

这段代码是一个Python程序,用于从大恒相机采集图像,通过软件触发来采集图像。
在这里插入图片描述

完整代码

咱们直接上python的完整代码:

# version:1.0.1905.9071
import gxipy as gx
import time
from PIL import Imagedef acq_color(device, num):""":brief      acquisition function of color device:param      device:     device object[Device]:param      num:        number of acquisition images[int]"""for i in range(num):time.sleep(0.1)# send software trigger commanddevice.TriggerSoftware.send_command()# get raw imageraw_image = device.data_stream[0].get_image()if raw_image is None:print("Getting image failed.")continue# get RGB image from raw imagergb_image = raw_image.convert("RGB")if rgb_image is None:continue# create numpy array with data from raw imagenumpy_image = rgb_image.get_numpy_array()if numpy_image is None:continue# show acquired imageimg = Image.fromarray(numpy_image, 'RGB')img.show()# print height, width, and frame ID of the acquisition imageprint("Frame ID: %d   Height: %d   Width: %d"% (raw_image.get_frame_id(), raw_image.get_height(), raw_image.get_width()))def acq_mono(device, num):""":brief      acquisition function of mono device:param      device:     device object[Device]:param      num:        number of acquisition images[int]"""for i in range(num):time.sleep(0.1)# send software trigger commanddevice.TriggerSoftware.send_command()# get raw imageraw_image = device.data_stream[0].get_image()if raw_image is None:print("Getting image failed.")continue# create numpy array with data from raw imagenumpy_image = raw_image.get_numpy_array()if numpy_image is None:continue# show acquired imageimg = Image.fromarray(numpy_image, 'L')img.show()# print height, width, and frame ID of the acquisition imageprint("Frame ID: %d   Height: %d   Width: %d"% (raw_image.get_frame_id(), raw_image.get_height(), raw_image.get_width()))def main():# print the demo informationprint("")print("-------------------------------------------------------------")print("Sample to show how to acquire mono or color image by soft trigger ""and show acquired image.")print("-------------------------------------------------------------")print("")print("Initializing......")print("")# create a device managerdevice_manager = gx.DeviceManager()dev_num, dev_info_list = device_manager.update_device_list()if dev_num is 0:print("Number of enumerated devices is 0")return# open the first devicecam = device_manager.open_device_by_index(1)# set exposurecam.ExposureTime.set(10000)# set gaincam.Gain.set(10.0)if dev_info_list[0].get("device_class") == gx.GxDeviceClassList.USB2:# set trigger modecam.TriggerMode.set(gx.GxSwitchEntry.ON)else:# set trigger mode and trigger sourcecam.TriggerMode.set(gx.GxSwitchEntry.ON)cam.TriggerSource.set(gx.GxTriggerSourceEntry.SOFTWARE)# start data acquisitioncam.stream_on()# camera is color cameraif cam.PixelColorFilter.is_implemented() is True:acq_color(cam, 1)# camera is mono cameraelse:acq_mono(cam, 1)# stop acquisitioncam.stream_off()# close devicecam.close_device()if __name__ == "__main__":main()

详细解读和功能说明

下面是代码的详细解读和功能说明:

  1. 导入必要的库

    • gxipy:大恒相机的SDK,用于控制相机。
    • time:用于在采集图像之间添加延迟。
    • PIL(Python Imaging Library):用于图像处理,这里用于显示图像。
  2. 定义采集函数

    • acq_color(device, num):用于彩色相机的采集函数。
    • acq_mono(device, num):用于单色相机的采集函数。
  3. 采集函数的共同步骤

    • 循环num次,每次采集一幅图像。
    • time.sleep(0.1):在每次采集之间添加0.1秒的延迟。
    • device.TriggerSoftware.send_command():发送软件触发命令,告诉相机现在可以采集图像。
    • raw_image = device.data_stream[0].get_image():从相机的第一个数据流中获取原始图像。
    • 如果raw_imageNone,则打印错误信息并继续下一次循环。
    • 对于彩色相机,rgb_image = raw_image.convert("RGB"):将原始图像转换为RGB格式。
    • 对于单色相机,直接使用raw_image
    • numpy_image = rgb_image.get_numpy_array()numpy_image = raw_image.get_numpy_array():将图像数据转换为numpy数组。
    • 如果numpy_imageNone,则跳过当前循环。
    • img = Image.fromarray(numpy_image, 'RGB')img = Image.fromarray(numpy_image, 'L'):将numpy数组转换为PIL图像对象,'RGB’用于彩色图像,'L’用于单色图像。
    • img.show():显示采集到的图像。
    • 打印采集图像的帧ID、高度和宽度。
  4. 定义main函数

    • 打印程序信息和初始化步骤。
    • 创建设备管理对象device_manager
    • 枚举设备并检查是否有设备连接。
    • 打开第一个设备cam
    • 设置曝光时间cam.ExposureTime.set(10000)和增益cam.Gain.set(10.0)
    • 根据设备类型设置触发模式,对于USB2设备,只设置触发模式为开启;对于其他设备,还需要设置触发源为软件触发。
    • 开始数据采集cam.stream_on()
    • 检查相机是否为彩色相机,并调用相应的采集函数。
    • 停止数据采集cam.stream_off()
    • 关闭设备cam.close_device()
  5. 程序入口

    • if __name__ == "__main__"::确保当脚本被直接运行时,才执行main函数。

这个程序的主要功能是初始化大恒相机,设置曝光时间和增益,然后通过软件触发采集一幅图像,并显示采集到的图像。程序还根据相机的类型(彩色或单色)调用不同的采集函数。最后,程序停止数据采集并关闭相机设备。
的一些信息,如帧ID和帧率。

扩展学习

使用大恒相机进行图像采集时,以下是一些性能优化技巧:

  1. 合理设置相机参数

    • 根据应用需求合理设置分辨率、曝光时间、增益等参数,以达到最佳的图像质量和采集速度。
  2. 使用软件触发

    • 通过软件触发来控制图像采集,可以更精确地控制采集时机,减少不必要的图像数据。
  3. 图像格式转换和预处理

    • 利用大恒相机SDK提供的功能,对图像进行格式转换(如Bayer转RGB)和预处理(如红蓝转换、垂直镜像等),以减少后续处理的负担。
  4. 利用回调采集提高效率

    • 使用回调采集方式,当图像就绪时自动触发处理,这样可以避免轮询检查图像是否就绪的开销,提高采集效率。
  5. 图像增强功能

    • 通过图像增强功能,如坏点校正、锐化、对比度、亮度调节等,可以在采集阶段就优化图像质量,减少后续处理的复杂度。
  6. 流对象属性控制

    • 通过流对象控制相机采集相关的属性和统计信息,可以更精细地管理采集过程,提高性能。
  7. 多相机采集稳定性

    • 对于多相机系统,使用支持多路I/O输入/输出信号和丰富图像预处理功能的图像采集卡,可以提高多相机采集的稳定性和效率。
  8. 使用高速接口

    • 如果相机支持,使用高速接口如CoaXPress或千兆网接口,可以显著提高数据传输速度,减少传输延迟。
  9. 优化代码逻辑

    • 在图像采集的代码中,避免不必要的图像复制和转换操作,直接在相机端进行必要的处理,可以减少CPU占用率,提高整体性能。
  10. 合理管理资源

    • 及时释放不再使用的资源,如关闭数据流、注销事件回调等,可以避免资源泄露,保持系统的稳定性和性能。

通过上述技巧,可以有效地提升大恒相机在图像采集过程中的性能和效率。

http://www.yayakq.cn/news/585880/

相关文章:

  • 什么类型的网站开发比较困难企业网站开发需求分析模板
  • 武进网站制作公司360竞价推广登录入口
  • 网站建设构成wordpress后台界面
  • 在手机上怎么做微电影网站做soho要不要注册网站
  • 电子政务和网站建设自评微信5分钟挣500元
  • 漯河做网站推广百度新闻源网站有哪些
  • 做爰全过程免费的视频 网站用oracle做网站数据库
  • 个人备案能做企业网站吗公众号版面设计创意
  • 高安建站公司电子商务网站建设的展望
  • 关于网站的制作南京市住房城乡建设门户网站
  • 博士后是否可以做网站负责人营销型制作网站公司
  • 哈尔滨网站seo专门做选择题的网站
  • 东营网站制作团队公共资源交易中心是属于哪个部门
  • 怎样制作网站建设规划图网络运营专业
  • html5网站开发参考文献网站开发团队 人员
  • 信誉好的郑州网站建设做视频网站一般多少钱
  • 网站服务建设太原推广型网站开发
  • 怎么网站怎么建设框架移动论坛网站模板
  • 中国城乡建中国城乡建设部网站重新建网站需要转域名吗
  • asp网站编辑教程在越南做网站需要什么
  • 购买网站外链wordpress 图片插件
  • 怎么在网站注册账号网站建设考试样题及答案
  • 珠海网站建设找哪家学前教育网站建设
  • 后台网站更新 网站没显示wordpress增加微语
  • 无域名建网站文艺主题wordpress
  • 安阳专业做网站公司推广目标怎么写
  • 网站怎么做动态主图企业所得税优惠税率
  • 从哪些方面进行网站建设烟台企业管理培训课程
  • 西宁网站怎么做seo北京网站平台开发
  • 湖南网站建设 要上磐石网络哪里的佛山网站建设