基于VB的木材无损检测近红外光谱图检索系统的实现
2011-05-07冯国红朱玉杰安丽华
冯国红,朱玉杰,安丽华
(东北林业大学,哈尔滨150040)
近红外光谱检测技术作为一种快速、无损、成本低的检测手段已在石化、农业、烟草、生命科学和医学等方面取得了卓越的成就,创造了巨大的经济和社会效益,在木材无损检测方面也发挥了巨大的作用[1-2]。光谱分析方法主要是根据光谱图中出现的吸收峰位置及强度推断出化合物所含有的官能团,以及这些官能团是如何排列的信息。在解析光谱图时,要同时注意吸收峰的位置、强度和峰形,吸收峰位置无疑是最重要的特征,各专著都充分的强调了这点[3-5]。本文基于近红外光谱在木材无损检测方面的应用及光谱图中吸收峰位置的重要性考虑,依据物质的吸收峰位置建立了已知物质的数据库,同时将其光谱图及特性说明放在各个窗体里,设计了物质名查询、光谱查询及列表查询3种查询方式,可快速实现已知物质名的光谱图检索及未知物质基于光谱图中的吸收峰位置的物质名查询。
1 建立数据库
通过资料或实验得到已知物质的吸收光谱图,从图中得到物质的主要吸收峰位置,为便于检索,将吸收峰按照吸收强度递减的顺序排列。
2 数据库检索界面
为方便各种检索,检索界面备有多种索引:“物质名”索引、 “列表查询”索引和“光谱查询”索引。检索界面如图1所示。
图1 检索界面Fig.1 Retrieval interface
3 数据库检索程序编写
3.1 准备工作
编写3个主索引程序之前做的一些准备工作:
3.1.1 变量声明
在编写3个检索程序之前,首先对程序中所有过程的共有变量进行了声明[6]:
Private db As Database
Private conn As ADODB.Connection
Private rs As ADODB.Recordset
Private str As String
Private frmNew(1 To 10)As Form
Private Bln(1 To 3)As Boolean'定义一个布尔变量数组
3.1.2 建立与数据库的连接
要实现数据库的检索,首先要建立与数据库的连接,建立与数据库的连接有两种方法:
(1)第一种方法。
(2)第二种方法。
在第一种方法中,只要在数据源 (ADODB)里设定好与数据库的连接,数据库可以随时改动和移动,连接的数据库随时跟着改变。而在第二种方法中,数据库的位置一旦确定了,是不能移动的,否则就会连接不上。因此本文中建立与数据库的连接采用的是第一种方法。将它定义成Start过程:
3.1.3 Query过程
索引过程中要调用Query过程,实现已知物质的光谱图检索,Query过程定义:
3.2 三种索引程序
3.2.1 物质名索引
已知物质名称即可查询出物质的光谱图及其特性。程序代码如下:
3.2.2 列表索引
由于近红外光谱的波段范围很窄,在一定的波数范围内,往往会出现几种物质吸收峰位置完全相同的情况,列表检索可以一目了然的看哪些物质有相同的吸收。在此检索中,主要用到了VB中最重要的Data控件和数据感知控件DBGrid来实现。首先用Data控件建立与数据库的连接,在Data控件的DatabaseName属性中选择要检索的数据库,在RecordSource属性中选择要检索的数据表。然后将DBGrid控件与Data控件绑定,用下面的代码即可实现列表检索。
3.2.3 谱线索引
这种索引是依次将吸收峰位置按照吸收强度递减的顺序输入到索引文本框中,在核对时,适当扩大了波数范围,有±10cm-1范围的偏差。此索引方法是这三个索引中最主要的方法,在此索引中,主要应用了VB中窗体 (Form)的优势,在Query过程中先把得到的已知物质的标准光谱图及其特性放到一个窗体中,例如图2是把丙酮的光谱图及其特性说明放在Form2中。
图2 丙酮的光谱图及其特性说明Fig.2 Spectrum of acetone and explanation of its characteristics
下面就是如何利用索引条件将物质的光谱图从其所在的窗体中检索出来。在此检索中,设计了3个索引条件,3个索引条件之间是逻辑“与”的关系,按照从左到右的顺序光谱吸收强度应是递减的。将测出的光谱图中的吸收峰位置按照强度递减的顺序输入,就可以检索出符合条件的物质的光谱图及其特性说明。此方法适用于从谱图上无法找出规律或对谱图不够熟悉时的查询。程序代码:
例如将丙酮的吸收峰位置890cm-1、910 cm-1、1010 cm-1,分别输入到3个索引框中,就可以将图2检索出来。如果输入的不是这些数值并且误差不在±10cm-1范围内,就会弹出“没有您所要的物质”的对话框。
4 结论
本文基于VB设计的木材无损检测中近红外光谱图检索系统,可以通过3种索引方式实现光谱图及物质名的检索,系统简单实用,同时为基于更多特征的检索系统开发奠定了基础。
[1]张鸿富,李耀翔.近红外光谱技术在木材无损检测中应用研究综述[J].森林工程,2009,25(5):26-31.
[2]姜忠华,申世杰.木材无损检测的现状与发展趋势[J].林业机械与木工设备,2010,38(2):4-7.
[3]陆婉珍,袁洪福.现代近红外光谱分析技术[M].北京:中国石化出版社,2000.
[4]马祥志,何彬生.有机化学[M].北京:中国医药科技出版社,2003.
[5]刘妍,张厚江.木质材料无损检测方法的研究现状与趋势[J].森林工程,2010,26(4):46-49.
[6]林卓然.VB语言程序设计[M].北京:电子工业出版社,2003.