disp(camera)

作者:吴永 更新时间:2020年8月18日 关键字: UI、camera、摄像头、扫码

摄像头驱动

@[TOC]

disp.cameraopen()

初始化摄像头

  • 语法

    = disp.cameraopen(type,zbarscan,mirror,jump)

  • 参数

    参数

    释义

    取值

    type

    保留

    1

    zbarscan

    扫码功能

    1:支持扫码0:不支持扫码

    mirror

    镜像功能

    1:开启摄像头镜像0:关闭摄像头镜像

    jump

    预览隔行列输出

  • 返回值

  • 例子

pm.wake("testTakePhoto")
--打开摄像头
disp.cameraopen(1,0,0,1)
--disp.cameraopen(1,0,0,0)  --因目前core中还有问题没解决,所以不能关闭隔行隔列
--打开摄像头预览
--如果有LCD,使用LCD的宽和高
--如果无LCD,宽度设置为240像素,高度设置为320像素,240*320是Air268F支持的最大分辨率
disp.camerapreview(0,0,0,0,WIDTH or DEFAULT_WIDTH,HEIGHT or DEFAULT_HEIGHT)
--设置照片的宽和高像素并且开始拍照
--此处设置的宽和高和预览时的保持一致
disp.cameracapture(WIDTH or DEFAULT_WIDTH,HEIGHT or DEFAULT_HEIGHT)
--设置照片保存路径
disp.camerasavephoto("/testCamera.jpg")
log.info("testCamera.takePhotoAndDisplay fileSize",io.fileSize("/testCamera.jpg"))
--关闭摄像头预览
disp.camerapreviewclose()
--关闭摄像头
disp.cameraclose()
--允许系统休眠
pm.sleep("testTakePhoto")

disp.camerapreview()

打开摄像头预览

  • 语法

    disp.camerapreview(offsetx,offsety,startx,starty,endx,endy)

  • 参数

    参数

    释义

    取值

    offsetx

    保留

    0

    offsety

    保留

    0

    startx

    预览起始位置x

    starty

    预览起始位置y

    endx

    预览结束位置x

    endy

    预览结束位置y

  • 返回值


disp.camerapreviewzoom()

预览缩放

  • 语法

    disp.camerapreviewzoom(zoom)

  • 参数

    参数

    释义

    取值

    zoom

    放缩设置

    正数放大负数缩小,最大4倍,0不放缩

  • 返回值

    1:成功 0:失败

### disp .cam erap revi ewro tati on() 预览 旋转

语法

di sp.c amer apre view rota tion (rot atio n)

参数

| 参数 | 释义 |取 值| | ——– | — ———– | — ———– | |rot atio n|旋 转| 反转 角度 设置 暂时 只支 持0 和90 度|

返 回值

1: 成功 0: 失败

disp.camerapreviewclose()

关闭预览

  • 语法

    disp.camerapreviewclose()

  • 参数

  • 返回值

    1:成功 0:失败

### disp. camer acapt ure() 拍 照片

语法

` disp .came racap ture( width ,heig ht[,q ualit y])`

参数

| 参数 | 释义 |取 值| | ——– | ————– | ————– | |wid th|照 片宽 度|取 决于 摄像 头| |heig ht|照 片高 度|取 决于 摄像 头| | quali ty|照 片压 缩质 量|0- 100( 值越 大, 质量 越高 )|

返 回值

1: 成功 0: 失败

disp.camerasavephoto()

保存拍摄的照片到文件

  • 语法

    disp.camerasavephoto(filename)

  • 参数

    参数

    释义

    取值

    filename

    保存文件路径

    string类型

  • 返回值

    1:成功 0:失败

### d isp.c amera write reg() 设置c amera sen sor寄 存器

* 语法 d isp.c amera write reg(r egTab le)

参数

| 参数 | 释义 |取 值| | ——– | ————– | ————– | |reg Table |寄存 器表 |str ing类 型|

返 回值

1: 成功 0: 失败

disp.cameraclose()

关闭摄像头

  • 语法

    disp.cameraclose()

  • 参数

  • 返回值

    disp.cameraopen_ext

    LUA外部配置camera功能

  • 语法

    disp.cameraopen_ext(param)

  • 参数

    参数

    释义

    取值

    param

    参数表

    string类型

--参数定义如下所示(配置gc6153 8万摄像头)
local gc6153 =
{
    zbar_scan = 1,  --是否支持扫码
    i2c_addr = 0x40,  --/* 摄像头i2c访问地址 */
    sensor_width = 240,  --/* 摄像头的宽 */
    sensor_height = 320, --/* 摄像头的高 */
    id_reg = 0xf1,      -- /* 摄像头ID寄存器 */
    id_value = 0x53,    -- /* 摄像头ID值 */
    -- /* 摄像头SPI是几线输出 */
    --disp.CAMERA_SPI_MODE_LINE1 1线
    --disp.CAMERA_SPI_MODE_LINE2 2线
    --disp.CAMERA_SPI_MODE_LINE4 4线
    spi_mode = disp.CAMERA_SPI_MODE_LINE1,
    -- /* 摄像头采集速率 */
    --disp.CAMERA_SPEED_SDR  单片采集
    --disp.CAMERA_SPEED_DDR  双边采集
    spi_speed = disp.CAMERA_SPEED_SDR,
     -- /* 摄像头输出YUV的格式 */
    spi_yuv_out = disp.CAMERA_SPI_OUT_U0_Y1_V0_Y0,
   --disp.CAMERA_SPI_OUT_Y0_U0_Y1_V0
   --disp.CAMERA_SPI_OUT_Y0_V0_Y1_U0
   --disp.CAMERA_SPI_OUT_U0_Y0_V0_Y1
   --disp.CAMERA_SPI_OUT_U0_Y1_V0_Y0
   --disp.CAMERA_SPI_OUT_V0_Y0_U0_Y1
   --disp.CAMERA_SPI_OUT_Y1_V0_Y0_U0
   --disp.CAMERA_SPI_OUT_Y1_U0_Y0_V0
    cmd = --/*摄像头初始化寄存器*/
    {
         0xfe, 0xa0  ,
         0xfe, 0xa0  ,
         0xfe, 0xa0  ,
         0xf6, 0x00  ,
         0xfa, 0x11  ,
         0xfc, 0x12  ,
         0xfe, 0x00  ,
         0xfe, 0x00  ,
         0x01, 0x41  ,
         0x02, 0x12  ,
         0x0d, 0x40  ,
         0x14, 0x7E  ,
         0x16, 0x05 ,
         0x17, 0x18  ,
         0x1c, 0x31  ,
         0x1d, 0xbb  ,
         0x1f, 0x3f  ,
         0x73, 0x20  ,
         0x74, 0x71  ,
         0x77, 0x22  ,
         0x7a, 0x08  ,
         0x11, 0x18  ,
         0x13, 0x48  ,
         0x12, 0xc8  ,
         0x70, 0xc8  ,
         0x7b, 0x18  ,
         0x7d, 0x30  ,
         0x7e, 0x02  ,
         0xfe, 0x10  ,
         0xfe, 0x00  ,
         0xfe, 0x00  ,
         0xfe, 0x00  ,
         0xfe, 0x00  ,
         0xfe, 0x00  ,
         0xfe, 0x10  ,
         0xfe, 0x00  ,
         0x49, 0x61  ,
         0x4a, 0x40  ,
         0x4b, 0x58  ,
         0xfe, 0x00  ,
         0x39, 0x02  ,
         0x3a, 0x80  ,
         0x20, 0x7e  ,
         0x26, 0x87  ,
         0x33, 0x10  ,
         0x37, 0x06  ,
         0x2a, 0x21  ,
         0x3f, 0x16  ,
         0x52, 0xa6  ,
         0x53, 0x81  ,
         0x54, 0x43  ,
         0x56, 0x78  ,
         0x57, 0xaa  ,
         0x58, 0xff  ,
         0x5b, 0x60  ,
         0x5c, 0x50  ,
         0xab, 0x2a  ,
         0xac, 0xb5  ,
         0x5e, 0x06  ,
         0x5f, 0x06  ,
         0x60, 0x44  ,
         0x61, 0xff  ,
         0x62, 0x69  ,
         0x63, 0x13  ,
         0x65, 0x13  ,
         0x66, 0x26  ,
         0x67, 0x07  ,
         0x68, 0xf5  ,
         0x69, 0xea  ,
         0x6a, 0x21  ,
         0x6b, 0x21  ,
         0x6c, 0xe4  ,
         0x6d, 0xfb  ,
         0x81, 0x3b  ,
         0x82, 0x3b  ,
         0x83, 0x4b  ,
         0x84, 0x90  ,
         0x86, 0xf0  ,
         0x87, 0x1d  ,
         0x88, 0x16  ,
         0x8d, 0x74  ,
         0x8e, 0x25  ,
         0x90, 0x36  ,
         0x92, 0x43  ,
         0x9d, 0x32  ,
         0x9e, 0x81  ,
         0x9f, 0xf4  ,
         0xa0, 0xa0  ,
         0xa1, 0x04  ,
         0xa3, 0x2d  ,
         0xa4, 0x01  ,
         0xb0, 0xc2  ,
         0xb1, 0x1e  ,
         0xb2, 0x10  ,
         0xb3, 0x20  ,
         0xb4, 0x2d  ,
         0xb5, 0x1b  ,
         0xb6, 0x2e  ,
         0xb8, 0x13  ,
         0xba, 0x60  ,
         0xbb, 0x62  ,
         0xbd, 0x78  ,
         0xbe, 0x55  ,
         0xbf, 0xa0  ,
         0xc4, 0xe7  ,
         0xc5, 0x15  ,
         0xc6, 0x16  ,
         0xc7, 0xeb  ,
         0xc8, 0xe4  ,
         0xc9, 0x16  ,
         0xca, 0x16  ,
         0xcb, 0xe9  ,
         0x22, 0xf8  ,
         0xfe, 0x02  ,
         0x01, 0x01  ,
         0x02, 0x80  ,
         0x03, 0x20  ,
         0x04, 0x20  ,
         0x0a, 0x00  ,
         0x13, 0x10  ,
         0x28, 0x03  ,
         0xfe, 0x00  ,
         0x22, 0xf8  ,
         0xf2, 0x03  ,
    },
}