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() 预览 旋转 |
语法 |
|
参数 |
| 参数 | 释义 |取 值| | ——– | — ———– | — ———– | |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:失败
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 ,
},
}