感光元件
openmv采用小孔摄像模式,将图像映射到感光原件上面,来传递图片,通过图片快速的刷新行成视频,在IDE中通过对感光原件的编辑可以控制视频的效果。
重置感光元件到默认状态
import sensor #导入感光元件这个库sensor.reset() #重置感光元件设置到默认配置
设置视频颜色
这个函数可以设置,视频显示颜色,有两个参数,分别是黑白和彩色。
sensor.set_pixformat() #设置视频颜色函数
sensor.RGB565 #函数参数,设置为彩色,采用RGB565配色
sensor.GRAYSCALE #函数参数,设置为灰色图片sensor.set_pixformat(sensor.RGB565) #设置照片为彩色sensor.set_pixformat(sensor.GRAYSCALE) #设置照片为灰色
设置获取图片大小
视频的每一帧是由图片组成,同样的感光元件图片大小,决定了视频的大小。
sensor.set_framesize() #函数设置图片大小sensor.QQCIF #参数 大小是 88*72sensor.QCIF #参数 大小是 176*148sensor.CIF #参数 大小是 352 *296#同理下面这些都是
sensor.QQCIF: 88x72
sensor.QCIF: 176x144
sensor.CIF: 352x288
sensor.QQSIF: 88x60
sensor.QSIF: 176x120
sensor.SIF: 352x240
sensor.QQQQVGA: 40x30
sensor.QQQVGA: 80x60
sensor.QQVGA: 160x120
sensor.QVGA: 320x240
sensor.VGA: 640x480
sensor.HQQQVGA: 80x40
sensor.HQQVGA: 160x80
sensor.HQVGA: 240x160
跳过一些帧
这个函数用来跳过一些图片,在更改感光元件设置之后,跳过一些图片等待,感光元件变得稳定。
sensor.skip_frames(n) #跳过图片n #这个参数可以是任意正整数
获取图片
获取的这些图片按照一定频率,进行刷新就形成了视频,这个函数用来捕捉摄像头的图像,把这个函数丢到while循环里面,就能得到视频
sensor.snapshot() #拍摄一张照片image = sensor.snapshot #image对象保存 返回的图片#放在while 循环里面就能一直得到视频while (True):image = sensor.snapshot
改善获取图像质量
这个函数用来开启图像增益,调整信号强度,或者放大程度,控制视频信号的亮度或者对比度,在颜色追踪的时候,需要关闭自动增益。
sensor.set_auto_gain() #开启增益函数True False #函数参数sensor.set_auto_gain(True) #开启增益效果
下面函数用来设置白平衡,白平衡就是在不同的光照下,使得不同的白对象在不同的光源下,仍然是白色,在颜色追踪的时候,需要关闭白平衡。
sensor.set_auto_whitebal() #函数用来开启白平衡#参数
True False sensor.set_auto_whitebal(True) #开启白平衡
下面函数用来设置曝光,
sensor.set_auto_exposure() #这个函数用来设置曝光#参数
True False
设置视频窗口大小
这个函数用来设置IDE中,显示视频窗口中,显示图像的大小,可以对摄像头获取图像的大小进行获取出自己想要的部分。
sensor.set_framesize(VGA) #设置获取图片大小sensor.set_windowing((640,480)) #设置IED中,视频显示框的大小为 640*480
设置视频翻转
这个函数是用来,设置电脑视频显示翻转的函数,可以设置水平翻转或者垂直方向翻转,设置完之后的显示在IDE的视频窗口显示里面。
sensor.set_hmirror(True) #设置水平方向翻转sensor.set_vflip(True) #设置垂直方向翻转
感光元件这一张,都是用来对,openmv摄像头获取图像,显示在IDE中的相关作用函数,主要是用来配置获取图像大小,视频显示效果的函数,应用在使用摄像头显示获取相关的摄像。
获取图片的计算
在上面,摄像头获取的图像大小,可以被设置为 VGA QVGA QQVGA 这些类型代表着不同的图像像素大小 VGA 代表着 640*480 意味着长有640个像素点 宽有480个像素点,每个像素点,可以用坐标来表示。
获取图片像素点
这个函数用来获取,图片坐标的像素点,给定坐标,如果感光元件设置的是灰色返回,灰度值,如果设置的是RGB颜色,则返回每个颜色取值,组成的数组。
image.get_pixel(x,y) #函数作用在点(x y)#如果感光元件设置的是灰色,返回坐标的灰度值
#如果是RGB颜色,则返回(r g b)的tuple数组里面是每种颜色的取值
设置像素点
这个函数用来设置图片上每个像素点,还是分两种情况,感光元件设置为灰色,设置为RGB颜色,前者设置的是灰度值,灰度值每个像素只有8bit,如果是RGB颜色,每个像素点是16bit,同时16bit被 R G B 三种颜色区分 R 5种 G 6种 B 5种 ,这么去分。
image = sensor.snapshot()
image.get_pixel(10 ,10) #获取像素点的灰度值 或者RGB值
image.get_pixel(10 ,10 (255, 0 ,0)) #设置像素点的RGB颜色数值
获取图像数据
这些函数用来,返回摄像头获取图像的数据, 宽 高 图像类型 图像像素大小
image.width() #返回图像的宽度 单位是像素 image.height() #返回图像的高度 单位是像素image.format() #返回图像的类型 单位是 RGB 或者GRAYSCALEimage.size() #返回获取图形的大小 Byte为单位
图像的运算
这个函数用来比较两张图片之间的差异,或者进行运算使用,常见的运算有 与非 或非 异或 异或非 两张图片相减 图片取反
image.invert() #这个函数用来取反对图片 如果是二值化图片 则 0变1 1变0image.nand(image) #两张图片进行与非运算image.nor(image) #两张图片进行或非运算image.xor(image) #两张图片进行异或运算image.difference(image) #图片进行相减 ,图片的每个像素点,取相减的绝对值操作#这个函数常用与移动检测
欢迎指正,希望对你,有所帮助!!!