用python进行大恒相机的调试

ops/2025/1/17 17:30:03/

一、背景
工作中需要用到大恒相机
跟大恒工程师沟通,拿到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'):breakelif cv2.waitKey(1) & 0xFF == ord('s'):cv2.imwrite('saved_image.png', bgr_image)

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

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

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


http://www.ppmy.cn/ops/150871.html

相关文章

阻塞赋值和非阻塞赋值

理论学习 阻塞赋值 用 表示 ,这种对应的电路结构常常与触发器没有关系,只与输入电平的变化有关系。可以将阻塞赋值的操作看作只有一个步骤的操作,即将计算赋值符号的右边赋值给左边,在未执行完之前&#…

在 .NET 9 中使用 Scalar 替代 Swagger

前言 在.NET 9发布以后ASP.NET Core官方团队发布公告已经将Swashbuckle.AspNetCore(一个为ASP.NET Core API提供Swagger工具的项目)从ASP.NET Core Web API模板中移除,这意味着以后我们创建Web API项目的时候不会再自动生成Swagger API文档了…

如何设计一个 RPC 框架?需要考虑哪些点?

面试官:如何设计一个 RPC 框架?需要考虑哪些点? 设计一个远程过程调用(RPC)框架是一个复杂的系统工程,涉及多个方面的考虑。一个好的 RPC 框架应具备可扩展性、灵活性、易用性和高性能。下面是设计 RPC 框…

Rust 强制类型转换和动态指针类型的转换

在 Rust 中的强制类型转换(Coercion)语义,与 Java 或 C 中的子类到父类的转换有某些相似之处,但两者的实现机制和使用场景有很大的区别。 我们将从 Java/C 的子类到父类转换 和 Rust 的强制类型转换 的角度进行比较,帮…

LeetCode 热题 100_课程表(53_207_中等_C++)(图,拓扑排序)

LeetCode 热题 100_课程表(53_207) 题目描述:输入输出样例:题解:解题思路:思路一(广度优先搜索拓扑排序): 代码实现代码实现(思路一(拓扑排序&…

【Redis】Redis事务和Lua脚本的区别

Redis事务 概念 事务:Redis事务是一组命令的集合,这些命令会被序列化地执行,中间不会被其他命令插入。 MULTI/EXEC:Redis事务通过MULTI命令开始,通过EXEC命令执行所有已入队的命令。 特点 原子性: 事务…

Python编程中的两种主要的编程模式

在Python编程中,有两种主要的编程模式被广泛使用:面向过程编程(Procedural Programming) 和 面向对象编程(Object-Oriented Programming, OOP)。这两种模式各有优缺点,适用于不同的场景。 1. 面…

【软件工程】知识点总结(上)

重点章节:软件开发模型、敏捷开发方法、结构化开发方法、面向对象开发方法 目录 重点章节:软件开发模型、敏捷开发方法、结构化开发方法、面向对象开发方法 第一章:软件工程概述 1.1 内容简介 1.2 软件 1、软件的定义 2、软件的发展 3、软件的…