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)
相关推荐
吕永强2 小时前
人工智能与环境:守护地球的智能防线
人工智能·科普
兮℡檬,2 小时前
房价预测|Pytorch
人工智能·pytorch·python
白-胖-子7 小时前
深入剖析大模型在文本生成式 AI 产品架构中的核心地位
人工智能·架构
想要成为计算机高手8 小时前
11. isaacsim4.2教程-Transform 树与Odometry
人工智能·机器人·自动驾驶·ros·rviz·isaac sim·仿真环境
静心问道8 小时前
InstructBLIP:通过指令微调迈向通用视觉-语言模型
人工智能·多模态·ai技术应用
宇称不守恒4.09 小时前
2025暑期—06神经网络-常见网络2
网络·人工智能·神经网络
小楓12019 小时前
醫護行業在未來會被AI淘汰嗎?
人工智能·醫療·護理·職業
数据与人工智能律师9 小时前
数字迷雾中的安全锚点:解码匿名化与假名化的法律边界与商业价值
大数据·网络·人工智能·云计算·区块链
chenchihwen10 小时前
大模型应用班-第2课 DeepSeek使用与提示词工程课程重点 学习ollama 安装 用deepseek-r1:1.5b 分析PDF 内容
人工智能·学习
说私域10 小时前
公域流量向私域流量转化策略研究——基于开源AI智能客服、AI智能名片与S2B2C商城小程序的融合应用
人工智能·小程序