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

网站备案平台查询系统网站建设备案优化

网站备案平台查询系统,网站建设备案优化,大庆做网站最厉害的人,企业营销型网站推广k230 使用摄像头将拍照的RGB565格式图片,保存为jpg图片文件到板载TF存储卡中 的源代码,程序执行后的效果如下: 实际运行效果输出如下: camera_test find sensor gc2093_csi2, type 30, output 1920x108060 vb common pool count …

k230 使用摄像头将拍照的RGB565格式图片,保存为jpg图片文件到板载TF存储卡中 的源代码,程序执行后的效果如下:

实际运行效果输出如下:

camera_test
find sensor gc2093_csi2, type 30, output 1920x1080@60
vb common pool count 5
sensor(0), mode 0, buffer_num 4, buffer_size 0
MPY: soft reboot
CanMV v1.3-132-gb19c756(based on Micropython e00a144) on 2025-08-09; k230_canmv_01studio with K230

 程序运行后,会在以下程序运行后,保寸摄像头拍摄图片文件到TF存储卡中,存储位置为虚拟U盘的/sdcard/目录下,图片文件的名称为test.jpg。

    img = sensor.snapshot(chn = CAM_CHN_ID_1)
    img.save("/sdcard/test.jpg")

源程序如下:

#RGB565保存为图片
#将RGB888的照片压缩为JPEG    imga = img.compressed(quality=70)
import time, os, sysfrom media.sensor import *
from media.display import *
from media.media import *# save image raw data, use 7yuv to previewtry:print("camera_test")# construct a Sensor object with default configuresensor = Sensor()# sensor resetsensor.reset()# set chn0 output size, 1920x1080sensor.set_framesize(Sensor.FHD)# set chn0 output formatsensor.set_pixformat(Sensor.YUV420SP)# bind sensor chn0 to display layer video 1bind_info = sensor.bind_info()Display.bind_layer(**bind_info, layer = Display.LAYER_VIDEO1)# set chn1 output formatsensor.set_framesize(width = 640, height = 480, chn = CAM_CHN_ID_1)sensor.set_pixformat(Sensor.RGB565, chn = CAM_CHN_ID_1)# use hdmi as display outputDisplay.init(Display.LT9611, to_ide = True)# init media managerMediaManager.init()# sensor start runsensor.run()# drop 100 framesfor i in range(100):sensor.snapshot()img = sensor.snapshot(chn = CAM_CHN_ID_1)img.save("/sdcard/test.jpg")except KeyboardInterrupt as e:print(f"user stop")
except BaseException as e:print(f"Exception '{e}'")
finally:# sensor stop runif isinstance(sensor, Sensor):sensor.stop()# deinit displayDisplay.deinit()os.exitpoint(os.EXITPOINT_ENABLE_SLEEP)time.sleep_ms(100)# release media bufferMediaManager.deinit()

扩展知识:
CanMV K230使用camera模块实现摄像头采集图像功能,K230硬件支持3路sensor输入(CSI接口),每个sensor设备均可独立完成图像数据采集捕获处理,并可以同时输出3路图像数据。如下图:

sensor 0,sensor 1,sensor 2表示三个图像传感器;Camera Device 0,Camera Device 1,Camera Device 2表示三个sensor设备;output channel 0,output channel 1,output channel 2表示sensor设备的三个输出通道。三个图像传感器可以通过软件配置映射到不同的sensor 设备。

图中,sensor 0sensor 1 和 sensor 2 分别代表三个图像输入传感器设备;这些传感器主要用于将环境中的光信号转化为数字图像信号。在实际系统中,这些传感器可以安装在不同的位置,用来捕获来自不同视角或者区域的图像数据。

每个Camera Device支持 3个输出通道(output channel 0、output channel 1 和 output channel 2)。这些输出通道的主要功能是将处理后的图像数据并行传输到后续的算法模块或显示设备,同时也支持多种数据格式和尺寸。这样的架构设计,让K230能够支持多路图像数据的高效并行处理,非常适合实时性要求较高的AI视觉任务。

K230 的 sensor 模块最多支持三路图像传感器的同时接入,每一路均可独立完成图像数据的采集、捕获和处理。此外,每个视频通道可并行输出三路图像数据供后端模块进行进一步处理。实际应用中,具体支持的传感器数量、输入分辨率和输出通道数将受限于开发板的硬件配置和内存大小,因此需根据项目需求进行综合评估。

三路图像输入

同时接入3个传感器,适合多摄像头应用场景,比如:

  • 自动驾驶中的多视角检测。
  • 安防监控中的多区域捕获。
  • 工业检测中的多面检测。

三路图像输出

为每个输入提供并行的多通道输出,便于在不同模块中并发处理,比如:

  • 一路用于实时显示。
  • 一路用于AI算法推理。
  • 一路用于视频存储或回放。

Sensor对象

构造函数

from media.sensor import * #导入sensor模块,使用摄像头相关接口
API描述

构造函数

【描述】

根据csi id和摄像头类型构建Sensor对象

用户需要先构建Sensor对象再继续操作

目前已实现自动探测摄像头,用户可选择输出图像的最大分辨率和帧率,参考摄像头列表

用户设置目标分辨率和帧率之后,如果底层驱动不支持该设置,则会进行自动匹配出最佳配置,具体使用的配置可参考日志,如use sensor 23, output 640x480@90

sensor = Sensor(id,[width, height, fps])
构建摄像头对象。目前支持摄像头型号有:GC2093、OV5647

  • id: CSI输入号。
    • 0 : CSI0;
    • 1 : CSI1;
    • 2 : CSI2;默认值,开发板上的摄像头。
  • width: 可选参数,sensor采集图像宽度。默认1920;
  • height: 可选参数,sensor采集图像高度。默认1080;
  • fps: 可选参数,sensor最大帧率。默认30;

摄像头型号

分辨率
Width x Height

帧率

OV5647

1920x1080

30

1280x960

60

1280x720

60

640x480

90

sensor = Sensor(id = 0)

sensor = Sensor(id = 0, witdh = 1280, height = 720, fps = 60)

sensor = Sensor(id = 0, witdh = 640, height = 480)

使用方法

sensor.reset()
复位和初始化摄像头。

设置指定通道的输出图像尺寸

用户可使用framesize或通过指定width&height来设置输出图像尺寸

宽度会自动对齐到16像素宽

sensor.set_framesize(framesize = FRAME_SIZE_INVAILD, [width, height],chn = CAM_CHN_ID_0, alignment=0, **kwargs)

设置每个通道的图像输出尺寸。

  • framesize: 输出通道图像尺寸。下面列出一些常用尺寸。自定义尺寸可以通过[width, height]参数设置,如: width=800, height=480 。注意framesize和 [width, height]只使用其中一种方式设置。
    • sensor.QQVGA : 320x240
    • sensor.QVGA : 320x240
    • sensor.VGA : 640x480;
    • Sensor.FHD : 1920x1080;
    • Sensor.HD : 1280x720;
    • QHD
    • 2560x1440
    • QXGA
    • 2048x1536
    • WQXGA
    • 2560x1600
    • WQXGA2
    • 2592x1944
  • chn: 通道编号。每个摄像头设备有3个通道。
    • CAM_CHN_ID_0 : 通道0;
    • CAM_CHN_ID_1 : 通道1;
    • CAM_CHN_ID_2 : 通道2;
  • # 配置sensor设备0,输出通道0, 输出图尺寸为640x480
  • sensor.set_framesize(chn = CAM_CHN_ID_0, width = 640, height = 480)
  • # 配置sensor设备0,输出通道1, 输出图尺寸为320x240
  • sensor.set_framesize(chn = CAM_CHN_ID_1, width = 320, height = 240)

设置指定sensor设备和通道的输出图像格式

sensor.set_pixformat(pixformat, chn = CAM_CHN_ID_0)
设置图像像素格式。

  • pixformat:       输出图像格式。
    • sensor.GRAYSCALE : 灰度图像,每像素8位(1字节),处理速度快。
    • sensor.RGB565 : 每像素为16位(2字节),5位用于红色,6位用于绿色,5位用于蓝色,处理速度比灰度图像要慢。
    • sensor.RGB888
    • sensor.RGBP888
    • sensor.YUV420SP  :YVU420planar NV12
  • chn: 输出通道编号。每个摄像头设备有3个通道。
    • CAM_CHN_ID_0 : 通道0;
    • CAM_CHN_ID_1 : 通道1;
    • CAM_CHN_ID_2 : 通道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)

sensor.set_hmirror(enable)
设置摄像头画面水平镜像。

  • enable: 格式。
    • 1 : 开启水平镜像;
    • 0 : 关闭水平镜像。

sensor.set_vflip(enable)
设置摄像头画面垂直翻转。

  • enable: 格式。
    • 1 : 开启垂直翻转;
    • 0 : 关闭垂直翻转。

提示:通过设置摄像头的水平镜像和垂直翻转组合可以实现任意画面变换。

sensor.run()
启动摄像头。必须在MediaManager.init()之前调用

如果同时使用多个摄像头(最多3个),只需要其中一个执行run即可

如果同时使用多个摄像头(最多3个),需要每一个都执行stop

sensor.stop()# 停止sensor设备0输出数据流

从指定sensor设备的支持输出通道中捕获一帧图像数据

sensor.snapshot()#从sensor设备0的通道0输出捕获一帧图像数据

sensor.snapshot(chn = CAM_CHN_ID_0)# CAM_CHN_ID_0 CAM_CHN_ID_1 CAM_CHN_ID_2
使用相机拍摄一张照片,并返回 image 对象。

 sensor.bind_info在Display.bind_layer时使用,获取绑定信息

sensor.bind_info(x = 0, y = 0, chn = CAM_CHN_ID_0)

x,y:将sensor指定通道输出图像绑定到Display或Venc模块的指定坐标

sensor.bind_info​

【描述】

在Display.bind_layer时使用,获取绑定信息

【语法】

sensor.bind_info(x = 0, y = 0, chn = CAM_CHN_ID_0)
【参数】

参数名称

描述

输入/输出

x

将sensor指定通道输出图像绑定到Display或Venc模块的指定坐标

y

将sensor指定通道输出图像绑定到Display或Venc模块的指定坐标

chn_num

sensor输出通道号

chn = sensor输出通道号

find sensor gc2093_csi2, type 30, output 1920x1080@60

LAYER_OSD1 不支持格式:Sensor.YUV420SP

Display.LAYER_VIDEO1:AssertionError: bind video layer only support format PIXEL_FORMAT_YUV_SEMIPLANAR_420

Display.init(type = None, width = None, height = None, osd_num = 1, to_ide = False, fps = None)

类型

分辨率
(width x height @ fps)

备注

LT9611

1920x1080@30

默认值(01科技 默认HDMI驱动芯片)

1280x720@30

640x480@60

HX8377

1080x1920@30

默认值

ST7701

800x480@30

默认值
可设置为竖屏480x800

854x480@30

可设置为竖屏480x854

VIRT

640x480@90

默认值

IDE调试专用,不显示内容在外接屏幕
用户可自定义设置分辨率(64x64)-(4096x4096)和帧率(1-200)

K230 提供 2 层视频图层支持和 4 层 OSD 图层支持。分列如下:

显示层

说明

备注

LAYER_VIDEO1

仅bind_layer可用

LAYER_VIDEO2

仅bind_layer可用

LAYER_OSD0

支持show_image和bind_layer使用

LAYER_OSD1

支持show_image和bind_layer使用

LAYER_OSD2

支持show_image和bind_layer使用

LAYER_OSD3

支持show_image和bind_layer使用

图像传感器支持列表#

图像传感器型号

分辨率
Width x Height

帧率

OV5647

2592x1944

10 FPS

1920x1080

30 FPS

1280x960

45 FPS

1280x720

60 FPS

640x480

90 FPS

GC2093

1920x1080

30 FPS

1920x1080

60 FPS

1280x960

60 FPS

1280x720

90 FPS

IMX335

1920x1080

30 FPS

2592x1944

30 FPS

http://www.dtcms.com/a/481546.html

相关文章:

  • 国外网站A怎么把图片做超链接到网站
  • 天津制作个人建站国外购物网站排行榜
  • 网络销售模式 自建网站企业网站建设 信息安全
  • 计算机专业就业方向和前景北京财优化
  • 襄樊门户网站建设949公社最新招聘今天
  • 中国电信新建网站备案管理系统 录完信息wordpress外观自定义
  • 免费软件网站建设安卓应用软件开发
  • 网站建设的图片望野李梦阳
  • 省财政厅经济建设处网站连锁连锁酒店网站建设方案
  • 前方网络网站建设合同软件开发人员外包
  • 汕头网站制作网站钉钉免登 wordpress
  • 官方网站在家做兼职室内设计软件排行榜
  • 网站开发分类列表wordpress 试听
  • 江门专业制作网站wordpress添加友情链接
  • 怎样去权重高的网站做外链做视频网站推广
  • 我想做网站 怎么做呢网站网络设计是怎么做的
  • mvc做的游戏网站代码微博推广方法有哪些
  • 网站建设和管理情况自查报告苏州好的网络科技公司
  • wordpress添加html菜单东莞排名优化
  • 个旧云锡建设集团网站中国互联网巨头排名
  • asp.net做网站源代码山东企业建站系统费用
  • 做电影网站合法吗企业展厅公司哪家好
  • 公益网站建设网站开发要用多少钱
  • 天门建站深圳网站公司招聘信息
  • 东莞做网站网站建设网站投标标书范本
  • 有什么做海报网站网站源码 源码论坛 源码之家 免费源码 商业源码 源码下载
  • 个人网站首页界面wordpress直播插件
  • 永川网站建设公司私人网盘服务器
  • 做网站应达到什么效果首次建设网站流程图
  • 网站建设基础条件微信里面的小程序怎么设置