学习OpenMV使用的是 OpenMV IDE 软件进行学习
OpenMV生成的文件以 .py结尾
import sensor # Setup camera. 设置相机 sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.skip_frames() # Take pictures. 拍照。 while(True): sensor.snapshot()
导入 sensor 库
sensor.reset() 相机初始化
sensor.set_pixformat(pixformat) 设置相机的分辨率
sensor.
GRAYSCALE
每像素为8位、1字节。我们所有的计算机视觉算法在灰度图像上比在RGB565图像上运行更快。(例如:识别二维码、条形码,等)
sensor.
RGB565 每像素为16位、2字节。5位用于红色,6位用于绿色,5位用于蓝色,更具体,但是也相对运行慢 (例如:识别颜色,色块,等)
sensor.
BAYER 如果你试图使帧大小太大,以适应帧缓冲区,你的OpenMV摄像头将设置像素格式为BAYER,使你可以捕获图像,但是无法使用任何图像处理方法。
sensor.
set_framesize
(framesize) 设置相机模块的帧大小
sensor.
VGA
640x480 分辨率的相机传感器。 只适用于OV2640相机或OpenMV Cam M7。
sensor.
set_windowing
(roi) 将相机的分辨率设置为当前分辨率的子分辨率 ,传入的是个元组格式 (x,y,w,h)
例如:将相机的分辨率设置为 sensor.VGA (640x480) ,再将 windowing设置为(120,140,200,200),那么就是截取点 (120,140) 到点 (200,200) 之间的图片,可以减少运算量,加速
也可以直接输入 (w,h) ,那么默认从图像中心截取 (w,h) 的图片,例如 识别条形码时,设置为 (640,80) ,长 640,宽 80
sensor.
set_auto_gain
(enable[, gain_db=-1[, gain_db_ceiling]]) 设置自动增益
enable: True/ False ,默认打开 ,可以通过 gain_db=-1 更改 最大增益上限,以分贝为单位 ,可以优化图像
设置 False :sensor.set_auto_gain(False) 例如:当识别颜色,色块时候,不能自动增益
sensor.
set_auto_whitebal
(enale[, rgb_gain_db]) 白平衡
与 自动增益 类似,优化图像
enable 默认打开,可以通过更改 rgb_gain_db 设置红绿蓝通道固定增益分贝,
设置 False : 追踪颜色,色块 时要关闭
sensor.
skip_frames
([n, time]) 设置完相机参数后,需要等待时间完成配置
设置 n 个快照 skip_frames(10) 跳过 10个帧
导入 time 模块, skip_frames(time = 2000) 跳过2000ms的帧
配置完成后,进行主程序
while(1):
img = sensor.snapshot() 获取图像