馮國(guó)紅,朱玉杰,安麗華
(東北林業(yè)大學(xué),哈爾濱150040)
近紅外光譜檢測(cè)技術(shù)作為一種快速、無(wú)損、成本低的檢測(cè)手段已在石化、農(nóng)業(yè)、煙草、生命科學(xué)和醫(yī)學(xué)等方面取得了卓越的成就,創(chuàng)造了巨大的經(jīng)濟(jì)和社會(huì)效益,在木材無(wú)損檢測(cè)方面也發(fā)揮了巨大的作用[1-2]。光譜分析方法主要是根據(jù)光譜圖中出現(xiàn)的吸收峰位置及強(qiáng)度推斷出化合物所含有的官能團(tuán),以及這些官能團(tuán)是如何排列的信息。在解析光譜圖時(shí),要同時(shí)注意吸收峰的位置、強(qiáng)度和峰形,吸收峰位置無(wú)疑是最重要的特征,各專著都充分的強(qiáng)調(diào)了這點(diǎn)[3-5]。本文基于近紅外光譜在木材無(wú)損檢測(cè)方面的應(yīng)用及光譜圖中吸收峰位置的重要性考慮,依據(jù)物質(zhì)的吸收峰位置建立了已知物質(zhì)的數(shù)據(jù)庫(kù),同時(shí)將其光譜圖及特性說(shuō)明放在各個(gè)窗體里,設(shè)計(jì)了物質(zhì)名查詢、光譜查詢及列表查詢3種查詢方式,可快速實(shí)現(xiàn)已知物質(zhì)名的光譜圖檢索及未知物質(zhì)基于光譜圖中的吸收峰位置的物質(zhì)名查詢。
通過(guò)資料或?qū)嶒?yàn)得到已知物質(zhì)的吸收光譜圖,從圖中得到物質(zhì)的主要吸收峰位置,為便于檢索,將吸收峰按照吸收強(qiáng)度遞減的順序排列。
為方便各種檢索,檢索界面?zhèn)溆卸喾N索引:“物質(zhì)名”索引、 “列表查詢”索引和“光譜查詢”索引。檢索界面如圖1所示。
圖1 檢索界面Fig.1 Retrieval interface
編寫(xiě)3個(gè)主索引程序之前做的一些準(zhǔn)備工作:
3.1.1 變量聲明
在編寫(xiě)3個(gè)檢索程序之前,首先對(duì)程序中所有過(guò)程的共有變量進(jìn)行了聲明[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'定義一個(gè)布爾變量數(shù)組
3.1.2 建立與數(shù)據(jù)庫(kù)的連接
要實(shí)現(xiàn)數(shù)據(jù)庫(kù)的檢索,首先要建立與數(shù)據(jù)庫(kù)的連接,建立與數(shù)據(jù)庫(kù)的連接有兩種方法:
(1)第一種方法。
(2)第二種方法。
在第一種方法中,只要在數(shù)據(jù)源 (ADODB)里設(shè)定好與數(shù)據(jù)庫(kù)的連接,數(shù)據(jù)庫(kù)可以隨時(shí)改動(dòng)和移動(dòng),連接的數(shù)據(jù)庫(kù)隨時(shí)跟著改變。而在第二種方法中,數(shù)據(jù)庫(kù)的位置一旦確定了,是不能移動(dòng)的,否則就會(huì)連接不上。因此本文中建立與數(shù)據(jù)庫(kù)的連接采用的是第一種方法。將它定義成Start過(guò)程:
3.1.3 Query過(guò)程
索引過(guò)程中要調(diào)用Query過(guò)程,實(shí)現(xiàn)已知物質(zhì)的光譜圖檢索,Query過(guò)程定義:
3.2.1 物質(zhì)名索引
已知物質(zhì)名稱即可查詢出物質(zhì)的光譜圖及其特性。程序代碼如下:
3.2.2 列表索引
由于近紅外光譜的波段范圍很窄,在一定的波數(shù)范圍內(nèi),往往會(huì)出現(xiàn)幾種物質(zhì)吸收峰位置完全相同的情況,列表檢索可以一目了然的看哪些物質(zhì)有相同的吸收。在此檢索中,主要用到了VB中最重要的Data控件和數(shù)據(jù)感知控件DBGrid來(lái)實(shí)現(xiàn)。首先用Data控件建立與數(shù)據(jù)庫(kù)的連接,在Data控件的DatabaseName屬性中選擇要檢索的數(shù)據(jù)庫(kù),在RecordSource屬性中選擇要檢索的數(shù)據(jù)表。然后將DBGrid控件與Data控件綁定,用下面的代碼即可實(shí)現(xiàn)列表檢索。
3.2.3 譜線索引
這種索引是依次將吸收峰位置按照吸收強(qiáng)度遞減的順序輸入到索引文本框中,在核對(duì)時(shí),適當(dāng)擴(kuò)大了波數(shù)范圍,有±10cm-1范圍的偏差。此索引方法是這三個(gè)索引中最主要的方法,在此索引中,主要應(yīng)用了VB中窗體 (Form)的優(yōu)勢(shì),在Query過(guò)程中先把得到的已知物質(zhì)的標(biāo)準(zhǔn)光譜圖及其特性放到一個(gè)窗體中,例如圖2是把丙酮的光譜圖及其特性說(shuō)明放在Form2中。
圖2 丙酮的光譜圖及其特性說(shuō)明Fig.2 Spectrum of acetone and explanation of its characteristics
下面就是如何利用索引條件將物質(zhì)的光譜圖從其所在的窗體中檢索出來(lái)。在此檢索中,設(shè)計(jì)了3個(gè)索引條件,3個(gè)索引條件之間是邏輯“與”的關(guān)系,按照從左到右的順序光譜吸收強(qiáng)度應(yīng)是遞減的。將測(cè)出的光譜圖中的吸收峰位置按照強(qiáng)度遞減的順序輸入,就可以檢索出符合條件的物質(zhì)的光譜圖及其特性說(shuō)明。此方法適用于從譜圖上無(wú)法找出規(guī)律或?qū)ψV圖不夠熟悉時(shí)的查詢。程序代碼:
例如將丙酮的吸收峰位置890cm-1、910 cm-1、1010 cm-1,分別輸入到3個(gè)索引框中,就可以將圖2檢索出來(lái)。如果輸入的不是這些數(shù)值并且誤差不在±10cm-1范圍內(nèi),就會(huì)彈出“沒(méi)有您所要的物質(zhì)”的對(duì)話框。
本文基于VB設(shè)計(jì)的木材無(wú)損檢測(cè)中近紅外光譜圖檢索系統(tǒng),可以通過(guò)3種索引方式實(shí)現(xiàn)光譜圖及物質(zhì)名的檢索,系統(tǒng)簡(jiǎn)單實(shí)用,同時(shí)為基于更多特征的檢索系統(tǒng)開(kāi)發(fā)奠定了基礎(chǔ)。
[1]張鴻富,李耀翔.近紅外光譜技術(shù)在木材無(wú)損檢測(cè)中應(yīng)用研究綜述[J].森林工程,2009,25(5):26-31.
[2]姜忠華,申世杰.木材無(wú)損檢測(cè)的現(xiàn)狀與發(fā)展趨勢(shì)[J].林業(yè)機(jī)械與木工設(shè)備,2010,38(2):4-7.
[3]陸婉珍,袁洪福.現(xiàn)代近紅外光譜分析技術(shù)[M].北京:中國(guó)石化出版社,2000.
[4]馬祥志,何彬生.有機(jī)化學(xué)[M].北京:中國(guó)醫(yī)藥科技出版社,2003.
[5]劉妍,張厚江.木質(zhì)材料無(wú)損檢測(cè)方法的研究現(xiàn)狀與趨勢(shì)[J].森林工程,2010,26(4):46-49.
[6]林卓然.VB語(yǔ)言程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,2003.