sensor
传感器模块,进行摄像头配置及图像抓取等,用于控制开发板摄像头完成摄像任务。
1. 方法
1.1. 单目摄像头重置函数
重置并初始化摄像头。这里会自动扫描并获取摄像头地址
sensor.reset() #初始化单目摄像头
参数
无
返回值
无
1.2. 双目摄像头重置函数
芯片只有一个dvp接口,所以通过pwdn引脚来选择sensor。pwdn引脚可以通过shutdown接口来控制。指定sensor后其余操作不变。详细请见例程2
sensor.binocular_reset()#初始化双目摄像头
参数
无
返回值
无
1.3. 启动函数
启动/关闭芯片捕获图像
sensor.run(enable)
参数
- enable: 1表示开启,0 表示停止
返回值
- return: 返回1
1.4. 设置帧大小
用于设置摄像头输出帧大小,k210最大支持VGA格式,大于VGA将无法获取图像。 MaixPy开发板配置的屏幕是320*240分辨率,推荐设置为QVGA格式
sensor.set_framesize(framesize)
参数
framesize
: 帧大小
返回值
True
: 设置成功False
: 设置错误
1.5. 设置帧格式
用于设置摄像头输出格式,k210支持rgb565和yuv422格式。MaixPy开发板配置的屏幕是使用rgb565设置,推荐设置为RGB565格式
sensor.set_pixformat(format)
参数
format
: 帧格式
返回值
True
: 设置成功False
: 设置错误
1.6. 开始图像捕捉
开启图像捕捉功能
sensor.run(enable)
参数
enable
: 1 表示开始抓取图像 0 表示停止抓取图像
返回值
True
: 设置成功False
: 设置错误
1.7. 获取图像
控制摄像头捕捉图像
img = sensor.snapshot()
参数
无
返回值
img
: 返回的图像对象
1.8. 关闭摄像头
关闭摄像头/切换摄像头
sensor.shutdown(enable/select)
参数
单目摄像头
enable
: 1 表示开启摄像头 0 表示关闭摄像头
双目摄像头
select
: 通过写入0或1来切换摄像头
返回值
无
1.9. 跳帧
跳过指定帧数或者跳过指定时间内的图像
sensor.skip_frames([n,time])
参数
n
: 跳过 n 帧图像time
: 跳过指定时间,单位为ms
返回值
无
1.10. 分辨率宽度
获取摄像头分辨率宽度
sensor.width()
参数
无
返回值
int
类型的摄像头分辨率宽度
1.11. 分辨率高度
sensor.height()
参数
无
返回值
int
类型的摄像头分辨率高度
1.12. 获取帧缓冲
获取当前帧缓冲区
sensor.get_fb()
参数
无
返回值
image
类型的对象
1.13. 获取ID
获取当前摄像头ID
sensor.get_id()
参数
无
返回值
int
类型的ID
1.14. 设置彩条模式
将摄像头设置为彩条模式
sensor.set_colorbar(enable)
参数
enable
: 1 表示开启彩条模式 0 表示关闭彩条模式
返回值
无
1.15. 设置对比度
设置摄像头对比度
sensor.set_contrast(contrast)
参数
constrast
: 摄像头对比度,范围为[-2,+2]
返回值
True
: 设置成功False
: 设置错误
1.16. 设置亮度
设置摄像头亮度
sensor.set_brightness(brightness)
参数
constrast
: 摄像头亮度,范围为[-2,+2]
返回值
True
: 设置成功False
: 设置错误
1.17. 设置饱和度
设置摄像头饱和度
sensor.set_saturation(saturation)
参数
constrast
: 摄像头饱和度,范围为[-2,+2]
返回值
True
: 设置成功False
: 设置错误
1.18. 设置自动增益
设置摄像自动增益模式
sensor.set_auto_gain(enable,gain_db)
参数
enable
: 1 表示开启自动增益 0 表示关闭自动增益gain_db
: 关闭自动增益时,设置的摄像头固定增益值,单位为db
返回值
无
1.19. 获取增益值
获取摄像头增益值
sensor.get_gain_db()
参数
无
返回值
float
类型的增益值
1.20. 设置水平镜像
设置摄像头水平镜像
sensor.set_hmirror(enable)
参数
enable
: 1 表示开启水平镜像 0 表示关闭水平镜像
返回值
无
1.21. 写入寄存器
往摄像头寄存器写入指定值
sensor.__write_reg(address, value)
参数
address
: 寄存器地址value
: 写入值
返回值
无
1.22. 读取寄存器
读取摄像头寄存器值
sensor.__read_reg(address)
参数
address
: 寄存器地址
返回值
int
类型的寄存器值
2. 例程
2.1. 例程 1
import sensor
import lcd
lcd.init()
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
while 1:
img = sensor.snapshot()
lcd.display(img)
2.2. 例程 2
import sensor
import image
import lcd
import time
lcd.init()
sensor.binocular_reset()
sensor.shutdown(False)#选择sensor并初始化
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.shutdown(True)#选择sensor并初始化
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
while True:
sensor.shutdown(False) #选择sensor
img=sensor.snapshot()
lcd.display(img)
time.sleep_ms(100)
sensor.shutdown(True) #选择sensor
img=sensor.snapshot()
lcd.display(img)
time.sleep_ms(100)