打印
[应用相关]

STM32与尿液分析仪设计开发

[复制链接]
楼主: wangjiahao88
手机看帖
扫描二维码
随时随地手机跟帖
21
wangjiahao88|  楼主 | 2018-11-28 12:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
2.3.3 RGB565格式转换为RGB24格式
    在本设计的数据处理中我们所用到的R, G, B值分别为8位数据值,而此处
使用摄像头采集到的图像数据为RGB565格式的数据,所以需要进行数据格式转
换。
    16bit RGB565到24bit RGB888的转换:
    原数据RGB565格式:
      16bit RGB656 R4 R3 R2 R1 RO G5 G4 G3 G2 G1 GO B4 B3 B2 B1 BO
    转换后数据RGB888格式:
      24bit RGB888 R4 R3 R2 R1 RO 0 0 0 G5 G4 G3 G2 G1 GO 0 0 B4 B3 B2 B1
BO 0 0 0
    由转换后的值可见,R, G, B值变成8位值后分别在末尾进行补零,这就使
得转换后的数据在精度上有缺失。所以要对转换后的值进行补偿,补偿后的数据
格式为:      24bit RGB888 R4 R3 R2 R1 RO R2 R1 RO G5 G4 G3 G2 G1 GO G1 GO B4 B3
B2 B1 BO B2 B1 BO
    可见,在R, G, B值的低位分别进行了补偿。
    量化补偿的方法:
        1.将原数据填充至高位
        2.对于低位,用原始数据的低位进行补偿
        3.如果仍然有未填充的位,继续使用原始数据的低位进行循环补偿
    使用量化补偿的方法可以减少在图像处理过程中因数据格式的改变而带来
的信息的缺失,使测试结果更加准确。

使用特权

评论回复
22
wangjiahao88|  楼主 | 2018-11-28 12:40 | 只看该作者

使用特权

评论回复
23
wangjiahao88|  楼主 | 2018-11-28 12:42 | 只看该作者
3. 1图像的滤波去噪
    本设计所使用的图像是通过摄像头采集到的,而在图像采集的过程当中包括
对图像信号进行量化编码,这个过程会使图像信号产生一定的失真;而同样会使
图像信号产生失真的因素还包括:图像在传输和记录的过程中,摄像头的抖动、
外界光照强度的不同变化、电子器件的影响等,这些因素都会对图像信号的质量
产生一定的影响。通常情况下,称这些不同的因素为噪声。由于噪声的存在,会
使我们所获得的图像与真实的图像间存在差异,因为差异的存在会使我们对图像
信号进行处理分析后所得到的结果与实际不符。基于以上影响,在对图像信号处
理前需先要对图像进行去噪,而噪声去除的程度则直接影响着后续实验结果的准
确程度。
    频域滤波和空域滤波是滤波的两种主要方法,两者均能够对含有噪声的图像
达到一定的去噪效果。频域滤波的主要过程为:首先要把图像由空域转化到频域,
在频域下对噪声进行处理,然后再把去噪后的图像转换回空域上,由于这个过程
耗时较长且需要大量的存储空间,所以此方法不适合应用到图像的快速处理中。
而空域滤波由于省去了复杂的空频变换,使得运算速度较频域滤波提升很多,所
以本设计主要采用的是在空域下直接对图像进行去噪。下面为通常所用的空域滤
波法。
.均值滤波法
    均值滤波采用的分析方法为邻域平均法,属于线性滤波算法中的一种,其具
体分析过程为:在所要滤波的图像上依次对目标像素给一个模板,该模板为以三
个像素单位为宽度的正方形区域,即其覆盖范围为9个像素点的区域大小,中间
区域像素点则为目标像素点,另外8个像素点则为与目标像素点紧邻的像素点。
均值滤波的处理算法为:依次获取与目标像素点紧邻的8个像素点的值,对这8
个值做取均值处理,再将处理后得到的均值赋给目标像素点,以此来达到平滑噪
声的效果。此处假设所要滤波的目标像素点坐标为(x, y),则与该点紧邻的8个
令区域点如表3. 1所示。

使用特权

评论回复
24
wangjiahao88|  楼主 | 2018-11-28 12:42 | 只看该作者
.中值滤波法
    通常,我们所获取到的图像,其中均有噪声的存在,而在做图像处理的过程
中,由于噪声对图像质量有所影响,由此也就对数据处理结果有所影响。对图像
进行中值滤波不但可以去除孤立噪声点,同时仍可以保持图像的边缘特性,最大
限度的保护图像的细节,不会使图像产生显著的模糊,比较适合于本实验的滤波
去噪。
    和均值滤波不同的是中值滤波属于非线性滤波,它不仅仅处于取均值的状
态,在滤波算法上进行了一定的优化,所以这种方法可以有效的抑制噪声。此种
滤波方法不仅可以去除脉冲干扰还可以有效的去除图像扫描时所产生的噪声,可
以最大限度的保护图像的细节部分,滤波效果并不像均值滤波那样会使图像变得
不清晰。但中值滤波也存在着缺陷,若去噪图像中含有较多的点、线、尖顶等细
节部分,使用中值滤波方法就很容易引起图像信息的丢失〔16]。由于中值滤波器的
种种优点从最初的一维信号的处理的应用,逐渐引用到二维图像的处理中来。
    中值滤波的算法原理是:选取某一形状滤波模板,将中央区域的目标像素点
的值用模板范围内目标像素点紧邻的各点的中值来代替。这种算**使选取的像
素值更加接近真实值,通过此种方法来达到消除孤立噪声点的作用〔‘7〕。
    中值滤波的步骤为:
1.取二维结构的某种形状的模板,该模板的中央区域即为目标像素点。
2.读取模板内各点像素值。
3.将这些像素点进行升序排列。
4.将目标像素点的值用此列数据中处于中间位置的数据的值来代替,如果模板
    内像素点的个数为奇数,则目标像素点的值取按照升序排列后的中间像素点
    的值。如果模板内像素点的个数为偶数,则目标像素点的值取按照升序排序
    后,中间两个点像素的平均值。图3. 1-3. 5为中值滤波效果图。

使用特权

评论回复
25
wangjiahao88|  楼主 | 2018-11-28 12:43 | 只看该作者

使用特权

评论回复
26
wangjiahao88|  楼主 | 2018-11-28 12:43 | 只看该作者
3. 2图像的试纸条边框检测
    通常我们所了解的试剂块像素检测方法为:测试前先确定一点,通过机械结
构的固定来保证试纸条纵向Y的位置精度,横向X方向为从固定点由右向左走,
因为试纸条上各试剂块间距离固定,所以其他色块的位置可以由各试剂块的距离
来确定〔18][19]。在对单个色块进行分析时,为了使测量数据更加精确,最大限度的
使用准确数据,所以选取中央区域的20 X 20的RGB像素值。运用此种方法来得
到RGB的值,会由于机械或试纸条抖动等原因,而造成试纸条偏离预先设定好的
物理位置,使得测试存在误差〔20] [21]0
    另外一种多用于图像边缘检测的为Robert算法进行边缘检测,此种检测方
法是一种利用局部差分算子寻找边缘的算子,利用Robert算子进行边缘检测效
果对比图如图3. 6,图3. 7所示。

使用特权

评论回复
27
wangjiahao88|  楼主 | 2018-11-28 12:44 | 只看该作者

    由图3. 6,  3. 7的对比可见此种方法在边缘检测的过程中对原图像进行了灰
度化处理,失去了原有的彩色图像信息,所以若利用此种方法进行边缘提取在检
测前则需要对原图像进行保存,这样就需要大量的存储空间,应用复杂,且利用
此种方法检测的边缘不是很平滑会产生较宽的响应,不适合本设计的应用〔zz70
    本设计所要实现的功能为将试纸条放于摄像头视角范围内的任何位置均可
以检测到试纸条边框,以达到无需固定位置即可以进行尿液检测的功能,此功能
的优点为无需对试纸条进行固定,减少了试纸条因位置有偏而造成的误差,使得
该尿液分析仪更加方便实用。具体实施过程为,本仪器采用黑色为背景,因为黑
色的R, G, B值均为零或在实际应用中更接近为零,与试纸条颜色具有很大的偏
差,通过设定比较1}7值,可以更加容易的检测出试纸条的整体边框。本设计采用
顶点法来确定试纸条边框,其方法为找到试纸条的四个顶点,由此四个顶点画一
矩形,将试纸条的边框进行确定。

使用特权

评论回复
28
wangjiahao88|  楼主 | 2018-11-28 12:44 | 只看该作者


使用特权

评论回复
29
wangjiahao88|  楼主 | 2018-11-28 12:45 | 只看该作者
    新型尿液分析仪主要在几个方面要求予以实现,可以实现对测试样本的快速
检测,配备可以触摸的液晶显示屏界面,以方便测试人员观测测试结果,更好的
实现人机对话,以及方便测试结果查询的存储打印等功能。本设计就是从软硬件
的设计方面及数据处理的算法方面对其性能进行改进,硬件系统结构原理图如图
4. 1所示。

使用特权

评论回复
30
wangjiahao88|  楼主 | 2018-11-28 12:45 | 只看该作者
    针对以往的电机带动试纸条运动设计的尿液分析仪运行速率慢,外围电路过
于复杂,数据处理精度低,易受到外界环境影响等因素的考虑,我们选用了
STM32F4xx系列芯片作为核心芯片,实现对摄像头的数据采集,数据传输及结果
显示等逻辑控制,由于STM32F4xx系列芯片本身带有DCM工接口,液晶显示屏接口,
具有DMA传输通道等,使得外围电路得到简化,使各元器件间的相互干扰降低,
使得产品的整体性能得到优化〔23]。同时本设计采用了密闭环境下环形白光LED
光源作为照明光源,降低了外界自然光及环境温度变化对测试精度的影响。系统
采用电容屏作为液晶显示界面,很好的实现了人机对话窗口,同时对数据处理算
法进行优化,使得整个系统的性能有所提升,数据处理结果更加准确,人员操作
更加便捷。

使用特权

评论回复
31
wangjiahao88|  楼主 | 2018-11-28 12:45 | 只看该作者

使用特权

评论回复
32
wangjiahao88|  楼主 | 2018-11-28 12:45 | 只看该作者
    该系列芯片配备了多种通信接口,包括如下通信接口:
    .内部集成电路接口工zC
    .串行外设接口SP工
    .通用同步异步收发器USART
    .一个全速USB OTG和一个高速USB OTG
    .二个CAN总线
    .一个安全数字输入/输出接口SD工0
    .数字摄像头接口DCM工
    STM32F4器件的功能部件有通用工/0  (GP工0) ,  DMA控制器(DMA)和模数转
换器((ADC),数模转换器((DAC),数字摄像头接口(DCM工),高级控制定时器,
通用定时器,内部集成电路(工2C)接口,通用同步异步收发器(USART),灵
活的静态存储控制器(FSMC),调试支持(DBG)和系统控制等模块,本仪器系统
用到的主要功能模块工/0 (GP工0),数字摄像头接口(DCM工),灵活的静态存储控
制器(FSMC), DMA控制器((DMA),内部集成电路(工2C)接口及JTAG调试模块
部分。
    在本设计中,由于使用了多个模块及接口,所以用到了该芯片的多个GP工0
口,在与液晶屏进行连接时使用到了该芯片的PD口及PE口,另外,此芯片配备
了数字摄像头接口DCM工,可直接通过该接口进行图像数据的采集,同时,本设
计用到了工zC接口,通过该接口实现数据,命令的传输及写入,通用直接存储器
访问DMA的图像数据的传送等。

使用特权

评论回复
33
wangjiahao88|  楼主 | 2018-11-28 12:46 | 只看该作者

使用特权

评论回复
34
wangjiahao88|  楼主 | 2018-11-28 12:46 | 只看该作者

使用特权

评论回复
35
wangjiahao88|  楼主 | 2018-11-28 12:46 | 只看该作者
    本次尿液分析仪的设计以STM32F4xx系统芯片为核心,对整个系统采用模块
化的设计方法,主要包括光源模块、信号检测模块、核心控制模块、液晶屏显示
模块等几大模块。光源发出的光照射到试纸承载板上的滴有待测液的试纸条上,
由CMOS摄像头采集图像信号并将光信号转换成电信号,并将模拟信号经过处理
电路后转换为数字信号,将信号送至液晶屏显示,或者将信号并送至STM32F4xx
系列芯片中等待下一步的处理。STM32F4xx系列芯片控制图像的采集与显示,同
时完成图像数据的边框检测及中值滤波等一系列操作,从而实现了对图像自动采
集分析的功能。此外辅助功能电路的添加,不但使设备的整体功能更加完善,还
使设备测试性能更加稳定,提高了测试结果的准确度〔30]。系统的模块化框图如图
5.1所示。

使用特权

评论回复
36
wangjiahao88|  楼主 | 2018-11-28 12:47 | 只看该作者
    本设计在图像信号的采集方面选用的是由OV (OmniVision)公司生产的
CMOS UXGA (1632*1232)图像传感器,该图像传感器将图像由模拟信号经A/D
转换后变为数字信号,再将数字信号经DSP处理后转换为RGB格式的数据,最后
将RGB数据经DCM工接口传送给STM32F4xx系列控制芯片,图像数据在控制芯片
中进行处理及应用。本文选用该模块是因为其特性及优点适合本设计的应用,可
以很好的实现本设计所要达到的功能。其主要优点为:该传感器体积小,所需供
电电压低,具有很快的传输速率,具有很好的信号处理功能,并且可以通过总线
进行控制〔31]0
OV2640的图像数据输出格式:
首先简单介绍一些定义:UXGA,即分辨率为1600*1200的输出格式,类似
的还有:SXGA (1280* 1024)  ,   WXGA+ (1440*900)  ,   XVGA (1280*960)
WXGA (1280*800)
WQVGA (400*240)
、XGA (1024*768)、SVGA (800*600)、VGA (640*480)、C工F (352*288)、
、QC工F (176*144)和QQVGA(160}120)等。
OV2640接线图如图5. 2所示。

使用特权

评论回复
37
wangjiahao88|  楼主 | 2018-11-28 12:47 | 只看该作者
    其中,左端数据管脚及控制管脚分别接控制芯片的DCM工的数据口及对应控
制口,SDL及SCL连接的分别为总线的数据信号线及时钟信号线,用于获取摄像
头工D,其中PCLK为像素时钟,一个PCLK时钟,输出一个像素(或半个像素)。
HREF为行参考信号,VSYNC为帧同步信号,HSYNC为行同步信号。OV2640的图
像数据输出DO}D7就是在PCLK, VSYNC和HREF/ HSYNC的共同控制下进行的。
OV2640行输出时序及帧时序(UXGA模式)如图5. 3,图5. 4所示。
    由图5. 3,  5. 4可以看出,图像数据在HREF为高的时候输出,当HREF变
高后,每一个PCLK时钟,输出一个8位/10位数据。本设计采用UXGA时序,
RGB565格式输出,每2个字节组成一个像素的颜色(高低字节顺序可通过OXDA
寄存器设置),这样每行输出总共有1600*2个PCLK周期,输出共1600*2个
字节。在一个 VSYNC帧信号内共输出1200行,由此像素为1600*12000

使用特权

评论回复
38
wangjiahao88|  楼主 | 2018-11-28 12:48 | 只看该作者

使用特权

评论回复
39
wangjiahao88|  楼主 | 2018-11-28 12:48 | 只看该作者
    液晶屏模块主要是用于图像及测试结果的显示,本设计采用的是4. 3寸触摸
式电容屏模块,该模块屏幕分辨率为800*480, 16位真彩色RGB格式显示,采用
NT35510驱动,该模块自带GRAM,无需外加驱动,因而任何单片机都可以轻易驱
动,只需要3. 3V&5V供电即可,无需外加高压。本设计由于采用了液晶屏,省去
了以往的下位机硬件部分与电脑的上位机软件间的数据通信,使得操作更加便
捷,同时使得测试者可以更加方便直观的查看测试结果,此外,该模块的使用还
可以实现触摸按键功能,使设备更加完善。本设计所用液晶屏模块的各引脚连接
图如图5. 5所示。
    图5. 5中LCD CS为液晶屏片选信号,低电平有效,RS为数据命令输入选择
端,当此引脚为0时表示输入的为命令,当此引脚为1时表示输入的为数据。其
中WR为写使能信号,当此引脚处于低电平状态时表示可以向寄存器中写入数据
或命令〔35] o   RD为读使能信号端,当此引脚处于低电平状态时表示可以从寄存器
中读出数据。RST为复位信号。DO}D15为数据线。

使用特权

评论回复
40
wangjiahao88|  楼主 | 2018-11-28 12:48 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则