k230摄像头初始化配置函数解析

通过 csi id 和图像传感器类型构建 Sensor 对象。

在图像处理应用中,用户通常需要首先创建一个 Sensor 对象。CanMV K230 软件可以自动检测内置的图像传感器,无需用户手动指定具体型号,只需设置传感器的最大输出分辨率和帧率。有关支持的图像传感器信息,请参见图像传感器支持列表。如果设定的分辨率或帧率与当前传感器的默认配置不符,系统会自动调整为最优配置,最终的配置可在日志中查看,例如 use sensor 23, output 640x480@90

复制代码
sensor = Sensor(id, [width, height, fps])

这里的设置可以指定后面你三个通道最大的分辨率绝对不能超过这里设置的最大分辨率

图像帧尺寸 分辨率
Sensor.VGA 640x480
Sensor.HD 1280x720
Sensor.FHD 1920x1080

...完整见下面

参数名称 描述 输入/输出 说明
id csi 端口,支持 0,1,2 输入 可选,庐山派开发板默认摄像头为CSI2
width sensor 最大输出图像宽度 输入 可选,默认 1920
height sensor 最大输出图像高度 输入 可选,默认 1080
fps sensor 最大输出图像帧率 输入 可选,默认 30

返回值

返回值 描述
Sensor 对象 传感器对象

举例

复制代码
sensor = Sensor(id=0)
sensor = Sensor(id=0, width=1280, height=720, fps=60)
sensor = Sensor(id=0, width=640, height=480)

庐山派开发板的默认摄像头接口为CSI2,如果Sensor默认内不指定id,则默认为id=2.

也就是说以下两条语句是等效的:

复制代码
sensor = Sensor()

sensor = Sensor(id=2)

5.1 sensor.reset

描述

复位 sensor 对象。在构造 Sensor 对象后,必须调用此函数以继续执行其他操作。

语法

python

复制代码
sensor.reset()

参数

参数名称 描述 输入/输出

返回值

返回值 描述

举例

复制代码
# 初始化 sensor 以及传感器 GC2093
sensor.reset()

2.2 sensor.set_framesize

描述

设置指定通道的输出图像尺寸。用户可以通过 framesize 参数或直接指定 widthheight 来配置输出图像尺寸。宽度会自动对齐到 16 像素宽

语法

python

复制代码
sensor.set_framesize(framesize=FRAME_SIZE_INVALID, chn=CAM_CHN_ID_0, alignment=0, **kwargs)

kwargs是关键词参数(keyword argument)的缩写,目前可以输入的参数有width和height,这两个参数和framesize所设置的分辨率是一个东西,所以是互斥的,只能二选一。

参数

参数名称 描述 输入/输出
framesize sensor 输出图像尺寸 输入
width【**kwargs】 输出图像宽度,kw_arg 输入
height 【**kwargs】 输出图像高度,kw_arg 输入
chn sensor 输出通道号 输入

参数可选值:

  • 设置输出图像尺寸,【framesize】和【width or height】二选一

    • framesize

      图像帧尺寸 分辨率
      Sensor.VGA 640x480
      Sensor.HD 1280x720
      Sensor.FHD 1920x1080
      图像帧尺寸 分辨率
      Sensor.QQCIF 88x72
      Sensor.QCIF 176x144
      Sensor.CIF 352x288
      Sensor.QSIF 176x120
      Sensor.SIF 352x240
      Sensor.QQVGA 160x120
      Sensor.QVGA 320x240
      Sensor.VGA 640x480
      Sensor.HQQVGA 120x80
      Sensor.HQVGA 240x160
      Sensor.HVGA 480x320
      Sensor.B64X64 64x64
      Sensor.B128X64 128x64
      Sensor.B128X128 128x128
      Sensor.B160X160 160x160
      Sensor.B320X320 320x320
      Sensor.QQVGA2 128x160
      Sensor.WVGA 720x480
      Sensor.WVGA2 752x480
      Sensor.SVGA 800x600
      Sensor.XGA 1024x768
      Sensor.WXGA 1280x768
      Sensor.SXGA 1280x1024
      Sensor.SXGAM 1280x960
      Sensor.UXGA 1600x1200
      Sensor.HD 1280x720
      Sensor.FHD 1920x1080
      Sensor.QHD 2560x1440
      Sensor.QXGA 2048x1536
      Sensor.WQXGA 2560x1600
      Sensor.WQXGA2 2592x1944
      • 这个就是自己填分辨率就行。
  • 设置输出通道号

    • chn
      • 通道0:CAM_CHN_ID_0
      • 通道1:CAM_CHN_ID_1
      • 通道2:CAM_CHN_ID_2

注意事项

  • 输出图像尺寸不得超过图像传感器的实际输出能力。
  • 各通道的最大输出图像尺寸受硬件限制。

举例

复制代码
# 配置 sensor 设备,输出通道 0,输出图尺寸为 640x480
sensor.set_framesize(chn=CAM_CHN_ID_0, width=640, height=480)

# 配置 sensor 设备,输出通道 1,输出图尺寸为 320x240
sensor.set_framesize(chn=CAM_CHN_ID_1, width=320, height=240)

# 配置 sensor 设备,输出通道 3,输出图尺寸为 640x480
sensor.set_framesize(chn=CAM_CHN_ID_3, framesize = sensor.VGA)

5.3 sensor.set_pixformat

描述

配置指定通道的图像传感器输出图像格式。

语法

复制代码
sensor.set_pixformat(pix_format, chn=CAM_CHN_ID_0)

参数

参数名称 描述 输入/输出
pix_format 输出图像格式(像素格式) 输入
chn sensor 输出通道号 输入

参数可选值:

  • 设置像素格式(如果想知道这些像素格式的具体定义,请看后续的摄像头基础知识部分)

    像素格式 说明
    Sensor.RGB565 16 位 RGB 格式
    Sensor.RGB888 24 位 RGB 格式
    Sensor.RGBP888 分离的 24 位 RGB
    Sensor.YUV420SP 半平面 YUV
    Sensor.GRAYSCALE 灰度图
  • 设置输出通道号

    • chn
      • 通道0:CAM_CHN_ID_0
      • 通道1:CAM_CHN_ID_1
      • 通道2:CAM_CHN_ID_2

举例

复制代码
# 配置 sensor 设备 0,输出通道 0,输出 NV12 格式
sensor.set_pixformat(Sensor.YUV420SP, chn=CAM_CHN_ID_0)

# 配置 sensor 设备 0,输出通道 1,输出 RGB888 格式
sensor.set_pixformat(Sensor.RGB888, chn=CAM_CHN_ID_1)
相关推荐
该用户已不存在16 分钟前
在 Gemini CLI 中使用 Gemini 3 Pro 实操指南
人工智能·ai编程·gemini
东皇太星27 分钟前
ResNet (2015)(卷积神经网络)
人工智能·神经网络·cnn
aircrushin37 分钟前
TRAE SOLO 中国版,正式发布!AI 编程的 "Solo" 时代来了?
前端·人工智能
Java中文社群1 小时前
保姆级教程:3分钟带你轻松搭建N8N自动化平台!(内附视频)
人工智能·工作流引擎
是Yu欸1 小时前
DevUI MateChat 技术演进:UI 与逻辑解耦的声明式 AI 交互架构
前端·人工智能·ui·ai·前端框架·devui·metachat
我不是QI1 小时前
周志华《机器学习---西瓜书》 一
人工智能·python·机器学习·ai
H***99761 小时前
月之暗面公开强化学习训练加速方法:训练速度暴涨97%,长尾延迟狂降93%
人工智能·深度学习·机器学习
二川bro2 小时前
Python在AI领域应用全景:2025趋势与案例
开发语言·人工智能·python
AI-智能2 小时前
RAG 系统架构设计模式介绍
人工智能·langchain·llm·agent·知识库·rag·大模型应用
长桥夜波2 小时前
机器学习日报20
人工智能·机器学习