用python进行大恒相机的调试

发布于:2025-02-10 ⋅ 阅读:(136) ⋅ 点赞:(0)

一、背景
工作中需要用到大恒相机
跟大恒工程师沟通,拿到API接口库

在这里插入图片描述
二、直接上代码:

import gxipy as gx
import cv2
import numpy as np
import sys
#初始化设备管理器
device_manager = gx.DeviceManager()

#枚举设备,返回设备数量和设备信息列表
dev_num, dev_info_list = device_manager.update_device_list()
if dev_num == 0:
print(“No devices found”)
sys.exit(1)

#获取第一个设备的序列号并打开设备
str_sn = dev_info_list[0].get(“sn”)
cam = device_manager.open_device_by_sn(str_sn)

#开始采集
cam.stream_on()

try:
while True:
# 从第 0 个流通道获取一幅图像
raw_image = cam.data_stream[0].get_image()

   if raw_image is None:
        continue

    # 从彩色原始图像获取 RGB 图像
    rgb_image = raw_image.convert("RGB")

    if rgb_image is None:
        continue

    # 从 RGB 图像数据创建 numpy 数组
    numpy_image = rgb_image.get_numpy_array()

    if numpy_image is None:
        continue

    # 将图像从 RGB 转换为 BGR,因为 OpenCV 使用 BGR 格式
    bgr_image = cv2.cvtColor(numpy_image, cv2.COLOR_RGB2BGR)

    # 显示图像
    cv2.imshow("Real-Time Image", bgr_image)

    # 按下 'q' 键退出循环
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
    elif cv2.waitKey(1) & 0xFF == ord('s'):
        cv2.imwrite('saved_image.png', bgr_image)

finally:
# 停止采集并关闭设备
cam.stream_off()
cam.close_device()

#关闭所有 OpenCV 窗口
cv2.destroyAllWindows()

三、说明:
gxipy 这个库文件可以找大恒工程师要,拿到后就可以直接调用。目前在用的黑白,彩色相机都是同一套。


网站公告

今日签到

点亮在社区的每一天
去签到