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