记录学习k230的过程
25.11.11 准备工作、学习摄像模块 准备工作 固件烧录 例程复现 找到了ocr(文字识别)现成例程 小声:结合多平台教程文档,如01studio或嘉楠等等,这个没有的例程,另一个说不定有呢 摄像模块 k230摄像头架构 板子最多搭载三个摄像头 每个摄像头可以接入三个不同的处理模块(对输入图像进行加工处理) 每个模块(camera_device)有三个输出通道,可以多输出并行 摄像头模块编程 sensor基础语法
创建处理模块 1 2 from media.sensor import * sensor = Sensor(id ,width ,height ,fps) # 实例化,对应架构中的处理模块 id:摄像头id,默认为2
width ,height ,fps:最大输出图像参数 设置图像输出大小和位置
1 2 3 4 sensor.reset() # 初始化sensor对象及传感器 sensor.set_framesize(chn=CAM_CHN_ID_0, width=640, height=480) sensor.set_framesize(chn=CAM_CHN_ID_3, framesize = Sensor.VGA) framesize参数对应width、height,表示输出图像分辨率,二者作用相同。
framesize = Sensor.VGA即表示640*480分辨率,除此之外,还有Sensor.HD等表示分辨率的代号,这些代号统称为图像帧尺寸
chn:channel_number,表示输出通道,即架构中每个模块的三个输出通道 设置图像怎么输出、输出位置
sensor.set_pixformat(pix_format, chn=CAM_CHN_ID_0) pix_format:输出图像的像素格式,即每个像素在计算机中如何存储,也就是RGB三个通道数据用多少位存储。
常用有:
RGB565:R for 5 bits ; G for 6 bits ; B for 5 bits RGB888: R G B for 8 bits respectively 水平与竖直反转 sensor.set_hmirror(True) # 水平 sensor.set_vflip(False) # 竖直 启动、关闭摄像头 sensor.run() sensor.stop() 多个摄像头只用启动一次,但要分别关闭
...