目录
1、模块简识
主控:
STM32H743VI ARM Cortex M7 处理器,400 MHz ,1MB RAM,2 MB flash. 所有的 I/O 引脚输出 3.3V 并且 5V 耐受。这个处理器有以下的IO接口。
引脚分布及功能:
P0 | UART.RXD | SPI2.MOSI | |
P1 | UART.TXD | SPI2.MISO | |
P2 | CAN2.TXD | SPI2.SCLK | |
P3 | CAN2.RXD | SPI2.SS | |
P4 | UART3.TXD | IIC2.SCL | |
P5 | UART3.RXD | IIC2.SDA | |
P6 | ADC | DAC | |
3.3V | 3.3V输出最大250MA | ||
RST | 低电平重置 | ||
BOOT | 连接3.3V使用DFU模式 | ||
SYN | 连接帧同步相机 | ||
P9 | 舵机3 | 定时器4通道3 | |
P8 | 舵机2 | 定时器4通道2 | IIC4.SDA |
P7 | 舵机1 | 定时器4通道1 | IIC4.SCL |
VIN | 3.6-5V电源输入口 | ||
GND | 地线接口 |
DFU模式(英文:Device Firmware Upgrade mode;中文:设备固件升级模式)
定时器通道问题:STM32的定时器为了方便PWM的输出有多个通道,一个定时器输出PWM波的频率不可改变,但是通过寄存器可以改变不同通道的占空比。
- 所有的引脚可输出3.3V电压,并且可容忍5V电压
- 所有的插脚都能吸收或发射高达25毫安的电流
- P6脚在ADC和DAC模式中不能容忍5V
- 所有插脚之间的总电流高达120mA
- SD卡使用对电流有要求(待续)
- SD卡容量2G
- SDHC卡容量小于32G
2、图像处理背景知识
摄像头成像原理
基本原理:小孔成像
小孔模型是一种理想相机模型,没有考虑实际相机中存在的场曲、畸变等问题。但是在实际使用时,这些问题可以通过在标定的过程中引入畸变参数解决,所以小孔模型仍然是目前最广泛使用的相机模型。
图像透过镜头,照在一个感光芯片上,感光芯片可以把光照的波长和强度等信息转成计算机(数字电路)可以识别的数字信号。
像素和分辨率
像素:感光元件是有很多个感光点构成的,比如有640*480个点,每个点就是一个像素,把每个点的像素收集整理起来,就是一副图片,那么这张图片的分辨率就是640*480。
帧率
一秒内图像刷新的次数
根据人眼的视觉效果对颜色的描述
色域分类 | 属性 |
HSB | 色相,亮度,饱和度 |
RGB | 红,绿,蓝 |
CMYK | C为cyan的英文缩写,即青色,M为Magenta的缩写,即洋红,Y为Yellow的英文缩写,即黄色,K为 black的英文缩写,即黑色 |
LAB | 一个通道是亮度,即L。另外两个是色彩通道,用A和B来表示 |
tips:openMV中查找色块算法中使用的是LAB:
Lab颜色空间中,L亮度;a的正数代表红色,负端代表绿色;b的正数代表黄色,负端代表蓝色。不像RGB和CMYK色彩空间,Lab颜色被设计来接近人类视觉。因此L分量可以调整亮度对,修改a和b分量的输出色阶来做精确的颜色平衡。
- 色相,就是各种色彩的相貌,比如红,黄,绿,蓝等,它是色 彩的首要特征,是区别各种不同色彩的最准确的标准,不同的色彩肯定拥有不同的色相,事实上任何黑白灰以外的颜色都有色相的特征,而色相也是由原色,间色和 复色来构成的。人的眼睛可以分辨出约180中不同色相的颜色。
- 亮度,就色彩而言,它指的是颜色的明亮程度,同一种颜色,有亮调和暗调之分,一种纯色的亮度等于中度灰的亮度,但是一种纯色的明度等于白色的明度
- 饱和度,就是色彩的鲜艳程度,也称色彩的纯度,饱和度取决于该 颜色中含色成分和消色成分(灰色)的比例,含色成分越大,饱和度越大,颜色就越艳丽;消色成分越大,饱和度越小,颜色就接近于灰色。人们对色彩的直觉感 知,首先是色相,然后是它的深浅度,所以HSB色彩模式是基于人的眼睛的色彩模式
- -----------------------------------------------------------------------------------------------------------------------------------------------------------
- RGB分别是red,green,blue的英文缩写,即红,绿,蓝三色,在ps软件中,RGB色彩模式给图像中每一个RGB分量分配一个0~255范围 内的强度值,例如,纯蓝色的R值为0,G值为0,B值为255,白色的R,G,B值都为255,黑色则三个都为0,在RGB色彩模式下,可以产生的颜色为 256*256*256,大概为1678万种,即2的24次方,也成为24为色,所以RGB采用加法混色原理,它描述各种“光”通过各种比例来产生颜色, 光线从暗黑开始不断叠加产生颜色,基于以上理论,所以RGB是基于发光体的色彩模式。
- -----------------------------------------------------------------------------------------------------------------------------------------------------------
- CMYK是基于印刷的色彩模式,C为cyan的英文缩写,即青色,M为Magenta的缩写,即洋红,Y为Yellow的英文缩写,即黄色,K为 black的英文缩写,即黑色,这里选K而不是B,主要是为了区别于蓝色blue。
- CMYK是一种依靠反光的色彩模式,人们怎样阅读报纸的内容呢?是由阳光或灯光照射到报纸上,再反射到眼中,才看到内容。它需要由外界光源,如果在黑暗房间内是无法阅读报纸的。
- 从理论上来说,只需要CMY三种油墨就足够了,它们三个加在一起就应该得到黑色。但是由于目前制造工艺还不能造出高纯度的油墨,CMY相加的结果实际是一 种暗红色。因此还需要加入一种专门的黑墨来调和。
- CMYK色彩模式采用减色混色原理,因为它描述的是需要使用何种油墨,通过光的反射显示出颜色。它是在一种白色介质(画板,页面等)上使用油墨来体现图像。如图:
- 在显示器环境下工作是应该使用RGB色彩模式,如果要印刷出来的时候,在最后一步应该把RGB模式转换为CMYK模式,在CMYK模式下进行打印工作或者 印刷出来,为了快速预览CMYK模式下的显示效果,可以在RGB模式下,使用视图菜单下的校样设置,选上工作中的CMYK即可。这种打印前的模式转换,并 不是避免图像损失最佳的途径,最佳方法是将Lab模式和CMYK模式相结合使用,这样可以最大程度的减少图像失真。
- -----------------------------------------------------------------------------------------------------------------------------------------------------------
- RGB模式是一种发光屏幕的加色模式,CMYK模式是一种颜色反光的印刷减色模式。而Lab模式既不依赖光线,也不依赖于颜料,它是CIE组织确定的一个 理论上包括了人眼可以看见的所有色彩的色彩模式。Lab模式弥补了RGB和CMYK两种色彩模式的不足。Lab模式由三个通道组成,但不是R、G、B通道。它的一个通道是亮度,即L。另外两个是色彩通道,用A和B来表示。A通道包括的颜色是从深绿色(底亮度 值)到灰色(中亮度值)再到亮粉红色(高亮度值);B通道则是从亮蓝色(底亮度值)到灰色(中亮度值)再到黄色(高亮度值)。因此,这种色彩混合后将产生 明亮的色彩。Lab模式所定义的色彩最多,且与光线及设备无关并且处理速度与RGB模式同样快,比CMYK模式快很多。因此,可以放心大胆的在图象编辑中使用Lab模 式。而且,Lab模式在转换成CMYK模式时色彩没有丢失或被替换。因此,最佳避免色彩损失的方法是:应用Lab模式编辑图象,再转换为CMYK模式打印 输出。当将RGB模式转换成CMYK模式时,Photoshop将自动将RGB模式转换为Lab模式,再转换为CMYK模式。在表达色彩范围上,处于第一位的是Lab模式,第二位的是RGB模式,第三位是CMYK模式。要注意 LAB模式在PHOTOSHOP中很多功能都不能用,所以在ps中最常用的是RGB色彩模式。
- 如果将RGB模式图片转换成CMYK模式时,在操作步骤上应加上一个中间步骤,即先转换成Lab模式。在非彩色报纸的排版过程中,应用Lab模式将图片转换成灰度图是经常用到的。下面是Lab模式,RGB模式,CMYK模式的关系,如图:
下面是色环图:
- 从色环图上可以看到,RGB模式为圆环的正三角,CMYK模式为圆环的倒三角,红色和绿色混合是黄色,红色和蓝色混合式洋红色,蓝色和绿色混合式青色,这可以从上面的加色混合图中看到,并且,红色和青色互为吸收色,蓝色和黄色互为吸收色,绿色和洋红互为吸收色,比如把一束红光照到青色的物体上,那么结果是看不到红光,因为青色把红色吸收 了,把一束白光照到青色的物体上,因为青色吸收了白光中的红色,所以反射回来的是蓝色和绿色,而蓝色和绿色混合之后是青色,所以看到的物体是青色的。
光源的选择一定要稳定
镜头的焦距
因为图像是通过镜头的光学折射,照到感光元件上的。那么镜头就决定了,整个画面的大小和远近。一个最重要的参数就是焦距。
镜头焦距:是指镜头光学后主点到焦点的距离,是镜头的重要性能指标。镜头焦距的长短决定着拍摄的成像大小,视场角大小,景深大小和画面的透视强弱。当对同一距离远的同一个被摄目标拍摄时,镜头焦距长的所成的象大,镜头焦距短的所成的象小。注意焦距越长,视角越小。
镜头的畸变
因为光学原理,在感光芯片上不同的位置,与镜头的距离不同的,简单说就是近大远小,所以在边缘会出现鱼眼效果(桶型畸变)。为了解决这个问题,可以在代码中使用算法来矫正畸变。
注:OpenMV中使用image.lens_corr(1.8)来矫正2.8mm焦距的镜头。也可以直接使用无畸变镜头。无畸变镜头加入了额外的矫正透镜部分,价格自然会高不少。
镜头的滤片
我们知道,不同颜色的光,是波长不一样。在正常环境中,除了可见光,还有很多红外光,在夜视中,用的就是红外光。
但是,在正常颜色应用中,是不需要红外光的,因为红外光也会使感光元件受到反应,就使得整个画面泛白。所以我们在镜头上放一个只能通过波长650nm以内的滤光片,就把红外光截止了。
3、拓展
灰度
使用黑色调表示物体,即用黑色为基准色,不同的饱和度的黑色来显示图像。
灰度使用黑色调表示物体,即用黑色为基准色,不同的饱和度的黑色来显示图像。 每个灰度对象都具有从 0%(白色)到
100%(黑色)的亮度值。 使用黑白或灰度扫描仪生成的图像通常以灰度显示。
灰度条: