使用设备
ZTFR开发板
摄像头
摄像头我就不多说了把。注意接线,主要看用法
摄像头应用
MaixPy 机器视觉库代码大部分都是参考 OpenMV 移植过来,其已经将所有的摄像头功能封装到 sersor模块中,用户可以通过调用轻松使用。(用到哪个模块介绍哪个。写多了也不会去看/doge)
构造函数
sensor:
传感器模块,进行摄像头配置及图像抓取等,用于控制开发板摄像头完成摄像任务。直接使用import调用即可
import sensor
使用方法
方法 | 说明 |
---|---|
sensor.reset() | 初始化摄像头 |
sensor.set_pixformat(pixformat) | 设置像素格式。pixformat 有 3 个参数。 |
sensor.GRAYSCAL | 灰度图像,每像素 8 位(1 字节),处理速度快; |
sensor.RGB565 | 每像素为 16 位(2 字节),5 位用于红色,6 位用于绿色,5 位用于蓝色,处理速度比灰度图像要慢。 |
sensor.snapshot() | 使用相机拍摄一张照片,并返回 image 对象 |
sensor.set_framesize(framesize) | 设置每帧大小(即图像尺寸)。 |
常用的 framesize 参数有下面这些:
sensor.QQVGA: 160*120;
sensor.QVGA: 320*240;
sensor.VGA: 640*480;
sensor.skip_frames([n, time])
摄像头配置后跳过 n 帧或者等待时间 time 让其变稳定。n:跳过帧数;time:等待 时间,单位 ms。 (如果 n 和 time 均没指定,则默认跳过 300 毫秒的帧。)
clock:
用于计算 FPS(每秒帧数)的模块。import调用time模块
import time
使用方法
方法 | 说明 |
---|---|
clock.reset() | 重置时钟对象。 |
clock=time.clock() | 创建一个时钟。 |
clock.tick() | 开始追踪运行时间。 |
clock.avg() | 停止跟踪运行时间,并返回以毫秒为单位的当前平均运行时间。在调用此函数之前,始终先调用 tick。 |
clock.fps () | 停止追踪运行时间,并返回当前 FPS(每秒帧数)。在调用该函数前始终首先调用 tick |
基本使用
单目摄像头
咱一般用的。
import sensor
import lcd
lcd.init()
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
while True:
img = sensor.snapshot()
lcd.display(img)
双目摄像头
还没到,等来了我测测
import sensor
import image
import lcd
import time
lcd.init()
sensor.binocular_reset()
sensor.shutdown(0) # 选中sensor 0
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.shutdown(1) # 选中sensor 1
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
while True:
sensor.shutdown(0) # 选中sensor 0
img = sensor.snapshot()
lcd.display(img)
time.sleep_ms(100)
sensor.shutdown(1) # 选中sensor 1
img = sensor.snapshot()
lcd.display(img)
time.sleep_ms(100)
摄像并打印FPS
#导入sensor,time模块
#初始化sensor模块
#创建1个计时时钟
#循环拍摄图片并打印FPS(每秒帧数)
import sensor, image, time, lcd
lcd.init(freq=15000000) #初始化LCD
sensor.reset() #复位和初始化摄像头,执行sensor.run(0)停止。
#sensor.set_vflip(1) #将摄像头设置成后置方式(所见即所得)
sensor.set_pixformat(sensor.RGB565) # 设置像素格式为彩色 RGB565 (或灰色)
sensor.set_framesize(sensor.QVGA) # 设置帧大小为 QVGA (320x240)
sensor.skip_frames(time = 2000) # 等待设置生效.
clock = time.clock() # 创建一个时钟来追踪 FPS(每秒拍摄帧数)
while(True):
clock.tick() # 更新 FPS 时钟.
img = sensor.snapshot() # 拍摄一个图片并保存.
lcd.display(img) # 在LCD上显示
print(clock.fps()) # 注意: 当 K210 连接到 IDE 时候,运行速度减
#半,因此当断开 IDE 时 FPS 会提升。