OpenMV学习笔记(一)

源代码整体预览:

import sensor
import clock

sensor.reset()

sensor.set_pixformat(sensor.RG565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time=2000)

clock = time.clock()

while(True):
    clock.tick()
    img = sensor.snapshot()
    print(clock.fps())

解释

import sensor

导入感光模块,可以设置采集到的图片的一些格式。详情见文末彩蛋

import clock

导入计时模块

sensor.reset()

清除掉之前摄像头存在的代码对于图片的设置

sensor.set_pixformat(sensor.RGB565)

设置图片的格式,这个565是说存储RGB三个通道每个通道存储像素值所对应的二进制位分别是5,6,5。相关介绍见彩蛋,

RGB565和RHB二进制示例的比较

通道RGB565RGB变化
R1010110101000左移三位
G10001010001000左移两位
B0010100101000左移三位

sensor.set_framesize(sensor.QVGA)

设置采集到图片的分辨率

预设大小窗口宽度窗口高度
VGA640480
QVGA320240
QQVGA160120

sensor.skip_frames(time = 2000)

跳过一些刚开始不稳定的时候再开始读取图像,
函数原型是:sensor.skip_frames([n,time])

两种方式实现:

  1. sensor.skip_frame(20) # 跳过20帧数
  2. sensor.skip_frame(time=2000) # 跳过2000ms=2s

clock.tick()

更新图像的帧率

img = sensor.snapshot()

snapshot的中文意思是快照的意思,所以这里是截取sensor摄像头的视屏流的当前帧,给img对象

print(clock.fps())

将帧率打出来

彩蛋

  • 摄像头简要:

链接:https://pan.baidu.com/s/1qZZppiW 密码:7l58,请看视频的前半部分即可;
- 图片通道:

RGB原本对应的存储是8位,所以各个通道的取值范围是 28-1= 255。所以调整的值变化范围在(0,255)。每一个通道的每一个像素都对应一个0-255的像素值。举一个例子,比如一张RGB三通道图片,R通道的1行1列的像素对应的像素值是0,G通道的1行1列的像素对应的像素值是0,B通道的1行1列的像素对应的像素值是255。那么这张图片的1行1列就是一个纯蓝色的像素,换句话说就是R,G,B三张图片叠加在一起就是一般的RGB图片。

  • 关于分辨率
    这里直接截取《大学物理下册–科学出版社,徐江荣,葛凡主编》的内容:
    这里写图片描述
    这里写图片描述
  • 关于帧率:
    1/ 帧率 = 平均时间,这里后期在详细的写

  • 图像深度:

存储每一个像素所用的bit,度量图像的色彩分辨率,
决定了彩色图像中可出现的最多颜色数,或灰度图像中的最大值

一幅彩色图像RGB3个分量的像素位数分别为4,4,2,则最大颜色数目为2的4+4+2次方,即1024,就是说像素的深度为10位,每个像素可以是1024种颜色中的一种

注意深度图像是指:

深度图像 = 普通的RGB三通道彩色图像 + Depth Map

比如用图像的灰度值便是离那一点的距离

本文参考了一些其他资料,原出处已经不可考证,如果侵犯了原创者版权,请尽快与我联系,我会删除相关内容

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值