You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用pyueye操作IDS相机GPIO报type must have storage info错误求助

问题原因

你触发TypeError: type must have storage info报错的核心原因是未对IO_GPIO_CONFIGURATION结构体进行实例化:你的代码中直接将结构体类ueye.IO_GPIO_CONFIGURATION赋值给了变量,没有创建实际的内存实例,ctypes无法获取未实例化类的存储信息,因此调用byref、sizeof时都会报错。

需修改的内容

  • 第一处:结构体实例化时补全括号,创建实际的结构体实例
  • 第二处:删除冗余的pointer调用,导入ctypes.byref直接传入实例化结构体的引用即可
  • 可选校验:确保hCam是已经完成相机初始化、打开操作后获取的有效相机句柄

修改后可运行代码

from pyueye import ueye
from ctypes import byref

# 保留你原有相机初始化逻辑,确保hCam为有效句柄
# hCam = 相机初始化后得到的句柄

# 修正:实例化GPIO配置结构体
gpioConfiguration = ueye.IO_GPIO_CONFIGURATION()
gpioConfiguration.u32Gpio = ueye.IO_GPIO_1
gpioConfiguration.u32Configuration = ueye.IS_GPIO_OUTPUT
gpioConfiguration.u32State = 1

stat = ueye.is_IO(
    hCam, 
    ueye.IS_IO_CMD_GPIOS_SET_CONFIGURATION,
    byref(gpioConfiguration),
    ueye.sizeof(gpioConfiguration)
)

# 可添加返回值校验
if stat == ueye.IS_SUCCESS:
    print("GPIO配置成功")
else:
    print(f"GPIO配置失败,错误码:{stat}")

内容的提问来源于stack exchange,提问作者helpneeded

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 06:45:03