当前位置: 首页 > news >正文

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

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

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

sensor = Sensor(id, [width, height, fps])

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

图像帧尺寸分辨率
Sensor.VGA640x480
Sensor.HD1280x720
Sensor.FHD1920x1080

...完整见下面 

参数名称描述输入/输出说明
idcsi 端口,支持 0,1,2输入可选,庐山派开发板默认摄像头为CSI2
widthsensor 最大输出图像宽度输入可选,默认 1920
heightsensor 最大输出图像高度输入可选,默认 1080
fpssensor 最大输出图像帧率输入可选,默认 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 参数或直接指定 width 和 height 来配置输出图像尺寸。宽度会自动对齐到 16 像素宽

语法

python

sensor.set_framesize(framesize=FRAME_SIZE_INVALID, chn=CAM_CHN_ID_0, alignment=0, **kwargs)

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

参数

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

参数可选值:

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

    • framesize

      • 图像帧尺寸分辨率
        Sensor.VGA640x480
        Sensor.HD1280x720
        Sensor.FHD1920x1080
        图像帧尺寸分辨率
        Sensor.QQCIF88x72
        Sensor.QCIF176x144
        Sensor.CIF352x288
        Sensor.QSIF176x120
        Sensor.SIF352x240
        Sensor.QQVGA160x120
        Sensor.QVGA320x240
        Sensor.VGA640x480
        Sensor.HQQVGA120x80
        Sensor.HQVGA240x160
        Sensor.HVGA480x320
        Sensor.B64X6464x64
        Sensor.B128X64128x64
        Sensor.B128X128128x128
        Sensor.B160X160160x160
        Sensor.B320X320320x320
        Sensor.QQVGA2128x160
        Sensor.WVGA720x480
        Sensor.WVGA2752x480
        Sensor.SVGA800x600
        Sensor.XGA1024x768
        Sensor.WXGA1280x768
        Sensor.SXGA1280x1024
        Sensor.SXGAM1280x960
        Sensor.UXGA1600x1200
        Sensor.HD1280x720
        Sensor.FHD1920x1080
        Sensor.QHD2560x1440
        Sensor.QXGA2048x1536
        Sensor.WQXGA2560x1600
        Sensor.WQXGA22592x1944
      • 这个就是自己填分辨率就行。
  • 设置输出通道号

    • 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输出图像格式(像素格式)输入
chnsensor 输出通道号输入

参数可选值:

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

    • 像素格式说明
      Sensor.RGB56516 位 RGB 格式
      Sensor.RGB88824 位 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)

 

相关文章:

  • 含铜废水的资源化利用
  • 第三方组件库:element-uiiviewVant
  • 方案精读:业财融合转型路径和华为实践【附全文阅读】
  • 【Godot】使用 Shader 实现可调节的精确切角效果
  • indexedDB
  • 两台电动缸同步算法
  • Linux常用命令30——groupadd创建新的用户组
  • hot100:链表倒数k个节点- 力扣(LeetCode)
  • 【SimSession 】2:PacedReceiver:支持与 PacedVideoSender 本地联调
  • PyTorch_张量拼接
  • 多语言笔记系列:Polyglot Notebooks 多种使用方式
  • 升级 CUDA Toolkit 12.9 与 cuDNN 9.9.0 后验证指南:功能与虚拟环境检测
  • 基于大模型的隐睾(睾丸可触及)预测及临床干预策略研究报告
  • 机器学习+多目标优化的算法如何设计?
  • Fortran语言,do-end do循环,相互包含测试,自动性能优化
  • 《新手学看盘》速读笔记
  • 【浅尝Java】变量与数据类型(含隐式类型转换、强制类型转换、整型与字符串互相转换等)
  • 百度系列产品学习
  • Linux环境下的进程创建、退出和进程等待
  • C++专业面试题
  • 体坛联播|拜仁提前2轮德甲夺冠,赵心童11比6暂时领先
  • 我给狗狗上课,月赚四五万
  • 浙江一文旅局长五一亲自带团,去年专门考取了导游证
  • 燕子矶:物流网络中的闪亮节点|劳动者的书信②
  • 龚正盛秋平王晓真共同启动2025国际消费季暨第六届上海“五五购物节”
  • “三桶油”一季度净赚966亿元:业绩分化加剧,有人欢喜有人愁