目录
导包:
import sensor, image, time, lcd
sensor库
#摄像头对象,通过 import 直接调用
#初始化摄像头
sensor.reset()
'''
设置像素格式。
pixformat 有 3 个参数。
sensor.GRAYSCAL:灰度图像,每像素 8 位(1 字节),处理速度快;
sensor.RGB565: 每像素为 16 位(2 字节),5 位用于红色,6 位用于绿色,5 位用于蓝色,处理速度比灰度图像要慢。
'''
sensor.set_pixformat(pixformat)
'''
设置每帧大小(即图像尺寸)。
常用的 framesize 参数有下面这些:
sensor.QQVGA: 160*120;
sensor.QVGA: 320*240;
sensor.VGA: 640*480;
'''
sensor.set_framesize(framesize)
'''
摄像头配置后跳过 n 帧或者等待时间 time 让其变稳定。
n:跳过帧数;
time:等待时间,单位 ms。
(如果 n 和 time 均没指定,则默认跳过 300 毫秒的帧。)
'''
sensor.skip_frames([n, time])
#使用相机拍摄一张照片,并返回 image 对象。
img=sensor.snapshot()
'''
设置摄像头垂直翻转
参数:
enable: 1 表示开启垂直翻转 0 表示关闭垂直翻转
返回值:无
'''
sensor.set_vflip(enable)
image库
'''
从图像中的(x, y)位置开始绘制8x10文本。您可以单独传递x,y,也可以作为元组(x,y)传递。
text 是写入图像的字符串,不支持中文显示。 \n, \r, 和 \r\n 结束符将光标移至下一行。
color 是用于灰度或RGB565图像的RGB888元组。默认为白色。但是,您也可以传递灰度图像的基础像素值(0-255)或RGB565图像的字节反转RGB565值。
x_spacing 允许你在字符之间添加(如果是正数)或减去(如果是负数)x像素,设置字符间距。
y_spacing 允许你在字符之间添加(如果是正数)或减去(如果是负数)y像素,设置行间距。
scale 图像上文本的大小。仅整数值(例如,1/2/3 /等)。
mono_space 默认为True,强制文本间距固定。对于大文本,这看起来很糟糕。设置False以获得非固定宽度的字符间距,看起来好多了。
返回图像对象,以便您可以使用 . 表示法调用另一个方法。
不支持压缩图像和bayer图像。
'''
image.draw_string(x, y, text[, color[, scale=1[, x_spacing=0[, y_spacing=0[, mono_space=True]]]]])
img.draw_string(0, 0, 'FPS: '+str(clock.fps()), color = (255, 255,255), scale = 1,mono_space = False)
time库
#创建一个时钟。
clock=time.clock()
#开始追踪运行时间。
clock.tick()
'''
停止追踪运行时间,并返回当前 FPS(每秒帧数)。
在调用该函数前始终首先调用 tick 。
'''
clock.fps ()
例程:
'''
main.py
显示摄像头拍摄的图像
'''
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() # 拍摄一个图片并保存.
img.draw_string(0, 0, 'FPS: '+str(clock.fps()), color = (255, 255,255), scale = 1,mono_space = False)
lcd.display(img) # 在LCD上显示
print(clock.fps()) # 注意: 当 K210 连接到 IDE 时候,运行速度减
#半,因此当断开 IDE 时 FPS 会提升。