国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于彩色CCD的棱鏡攝譜實(shí)驗(yàn)數(shù)據(jù)處理

2021-01-06 09:00:54韋先濤
物理實(shí)驗(yàn) 2020年12期
關(guān)鍵詞:線圖譜線插值

鄭 逸,張 權(quán),韋先濤,朱 玲

(中國(guó)科學(xué)技術(shù)大學(xué) a.少年班學(xué)院; b.物理學(xué)院,安徽 合肥 230026)

攝譜實(shí)驗(yàn)是大學(xué)物理實(shí)驗(yàn)課程之一,其主要數(shù)據(jù)處理思想是根據(jù)已知的元素譜線波長(zhǎng)和拍攝得到的譜線圖,通過(guò)比對(duì),計(jì)算出未知元素的譜線波長(zhǎng). 譜線的拍攝方式主要有感光膠片、線陣CCD和面陣CCD等幾種方式[1]. 利用彩色的面陣CCD相機(jī)拍攝譜線,既可以直接獲取譜線位置信息,避免了底片沖洗和讀譜等繁瑣過(guò)程,又可以得到直觀的彩色譜線圖片,結(jié)合了其他方式的優(yōu)點(diǎn). 使用計(jì)算機(jī)處理實(shí)驗(yàn)數(shù)據(jù)可以提高效率,減小誤差,是科學(xué)研究、工業(yè)生產(chǎn)和實(shí)驗(yàn)教學(xué)近幾十年來(lái)的發(fā)展趨勢(shì).

1 攝譜實(shí)驗(yàn)

以中國(guó)科學(xué)技術(shù)大學(xué)物理實(shí)驗(yàn)教學(xué)中心開(kāi)設(shè)的攝譜實(shí)驗(yàn)為例,介紹基于彩色CCD的棱鏡攝譜實(shí)驗(yàn)數(shù)據(jù)處理方法. 實(shí)驗(yàn)使用的棱鏡攝譜儀,由北京教學(xué)儀器廠生產(chǎn)的棱鏡攝譜儀改造而成,如圖1所示. 已知光源發(fā)射的光線經(jīng)過(guò)透鏡聚焦射入狹縫S1,L1為準(zhǔn)直透鏡(與S1的距離等于其焦距),經(jīng)過(guò)L1后變?yōu)槠叫泄?,?jīng)過(guò)阿貝棱鏡被反射、分光,經(jīng)過(guò)透鏡L2后平行光會(huì)聚到彩色CCD的成像面上,拍攝得到譜線圖[2].

圖1 攝譜實(shí)驗(yàn)裝置示意圖

氦譜因?yàn)樵诳梢?jiàn)光范圍內(nèi)譜線相對(duì)較多,一般用來(lái)作為已知光譜,待測(cè)的未知光譜為汞譜和鈉譜(也可以更換成氫譜等其他光源).

實(shí)驗(yàn)中使用1/2英寸的CCD,其感光面寬度有限,無(wú)法一次性拍攝到所有可見(jiàn)光譜線;而使用大尺寸的CCD又會(huì)增加實(shí)驗(yàn)成本. 所以實(shí)驗(yàn)中采用的方法是先將CCD固定某位置,依次更換光源,拍攝氦譜、汞譜和鈉譜的譜線圖,然后通過(guò)位移臺(tái)改變CCD位置重復(fù)上述拍攝操作2次(保證相鄰譜圖存在交疊區(qū)域),一共得到9張圖,如圖2所示. 再通過(guò)拼接就得到完整的譜線圖. 這種方法在保證譜線的分辨率同時(shí)擴(kuò)大了譜線測(cè)量的范圍.

原來(lái)的數(shù)據(jù)處理方法是先用PowerPoint等軟件拼接譜線,保證氦譜相同的譜線重合,然后保持垂直方向?qū)R,拼接汞譜和鈉譜圖. 然后用軟件(如畫圖)記錄下拼接后的3張圖每條譜線的橫向像素位置,設(shè)未知譜線像素位置為dx,如圖3所示,其處在已知氦譜的相鄰2條譜線之中,這2條譜線位置分別為d1和d2,波長(zhǎng)分別為λ1和λ2. 則未知譜線的波長(zhǎng)λx由線性插值公式

給出. 已知氦譜所有譜線的波長(zhǎng),就可以根據(jù)圖片中譜線的位置計(jì)算出未知的汞、鈉譜的波長(zhǎng).

圖2 拍攝得到的原始圖像

圖3 用已知譜線波長(zhǎng)計(jì)算未知譜線波長(zhǎng)

實(shí)際上,這種方法誤差比較大. 首先,圖片的拼接可能因?yàn)閷?shí)驗(yàn)者判斷能力、對(duì)圖像處理軟件使用的熟悉程度不同而存在較大誤差. 其次,波長(zhǎng)與像素位置的關(guān)系不是線性的,線性插值法只能作為極小范圍內(nèi)的近似處理,導(dǎo)致計(jì)算出來(lái)的結(jié)果存在較大的系統(tǒng)誤差. 如汞綠線波長(zhǎng)通常求得的值為551 nm左右,而實(shí)際值為546.07 nm,如圖4所示,黑色線為線性插值得到的波長(zhǎng)與像素位置的關(guān)系曲線,是折線(像素單位無(wú)實(shí)際意義,故略去),灰色線為實(shí)際關(guān)系曲線.

為提高效率和數(shù)據(jù)處理的精度,使用Visual Basic .NET語(yǔ)言,并用WPF(Windows Presentation Foundation)設(shè)計(jì)圖形界面,開(kāi)發(fā)了攝譜圖像處理程序,可以根據(jù)輸入的9張譜線圖拼接圖片,通過(guò)已知譜線波長(zhǎng)計(jì)算出未知譜線的波長(zhǎng).

圖4 線性插值與實(shí)際值的區(qū)別

2 程序算法設(shè)計(jì)

算法是程序的核心. 本程序需要實(shí)現(xiàn)的關(guān)鍵算法是從譜線圖中尋找譜線并記錄下其位置(尋峰)、判斷譜線顏色拼接譜線圖(拼接)、插值.

2.1 尋峰

此算法應(yīng)做到能夠不遺漏、不重復(fù)計(jì)數(shù)(即1條譜線不應(yīng)該識(shí)別成多條). 這里設(shè)計(jì)了2種算法:極值法和中位數(shù)法.

若使用極值法,程序比較每個(gè)像素點(diǎn)與左右相鄰像素點(diǎn)的亮度,若取極值則該點(diǎn)記為譜線. 用戶可以調(diào)節(jié)參數(shù)“升降亮度容差”,若亮度差別小于容差,就不會(huì)認(rèn)為這里取到極值. 容差值太大會(huì)漏掉暗譜線,太小會(huì)把拍攝時(shí)的雜點(diǎn)記為譜線.

若使用中位數(shù)法,給定參數(shù)“亮度閾值”,程序首先從左到右尋找亮度高于亮度閾值的像素,然后對(duì)連續(xù)的亮度高于閾值的區(qū)域類似于統(tǒng)計(jì)直方圖求中位數(shù)的方法求出中位數(shù),記為譜線的位置. 對(duì)于相近的2條譜線,若亮度閾值過(guò)高,不會(huì)找到譜線,若亮度閾值過(guò)低,只會(huì)找到1條譜線. 亮度閾值合適時(shí)能夠找到全部2條譜線.

尋峰的結(jié)果是得到了譜線圖中譜線的位置,單位為像素,如圖5所示(只給出了氦譜的結(jié)果).

圖5 尋峰得到譜線位置

2.2 拼接

拼接的基本思想是給定參數(shù)“色相容差”和“亮度容差”,程序記錄前一張圖找到的最后一條譜線的色相和亮度,然后在后一張圖中從左到右比對(duì)每條譜線的色相和亮度. 若其差別位于容差之內(nèi),則譜線匹配,可得到4個(gè)數(shù)值:第1張圖末端位置、第2張圖首端位置、第2張圖末端位置和第3張圖首端位置,用這些數(shù)值刪去譜線圖和尋峰結(jié)果中多余的部分,拼接氦、汞、鈉譜圖以及譜線數(shù)據(jù);若找不到匹配的譜線,則程序報(bào)錯(cuò).

2.3 插值

波長(zhǎng)和位置的關(guān)系曲線可以通過(guò)插值或使用經(jīng)驗(yàn)公式擬合[3]的方法求得. 輸入氦譜每條譜線的波長(zhǎng)后,程序使用三次樣條插值法[4]進(jìn)行插值,求出汞譜和鈉譜每條找到的譜線的波長(zhǎng). 三次樣條插值得到的函數(shù)是分段函數(shù),端點(diǎn)為氦譜的已知點(diǎn),每一段都是三次函數(shù). 通過(guò)求解線性方程組,使得端點(diǎn)處的函數(shù)值和其一、二階導(dǎo)數(shù)值各自相等,讓函數(shù)圖像是1條平滑的曲線,而非折線. 該方法計(jì)算比線性插值復(fù)雜,適合用計(jì)算機(jī)處理. 但該方法有局限性,若未知譜線的位置小于或大于所有已知譜線的位置(即外插)時(shí)誤差比內(nèi)插時(shí)大.

3 程序界面設(shè)計(jì)

3.1 導(dǎo)入圖片和參數(shù)設(shè)置

如圖6所示,左側(cè)的滑塊可以調(diào)整取樣的位置,程序會(huì)對(duì)紅線附近寬度為參數(shù)“取樣寬度”的范圍取縱向平均,得到寬度為1的圖片,以進(jìn)行后續(xù)尋峰操作. 較大的取樣寬度可以抑制雜點(diǎn)影響,但如果拍攝的譜線較斜,會(huì)導(dǎo)致平均后譜線變粗,影響精度.

圖6 導(dǎo)入圖片

選擇9張圖片后,單擊“下一步”后程序會(huì)嘗試尋峰、拼接,成功后進(jìn)入后續(xù)程序,若未成功會(huì)報(bào)錯(cuò). 若程序報(bào)錯(cuò)或處理結(jié)果不滿意(如有遺漏)可以單擊“參數(shù)設(shè)置”調(diào)整程序中使用的所有參數(shù),如圖7所示.

圖7 參數(shù)設(shè)置

3.2 確定參考譜線波長(zhǎng)

如圖8所示,此步是輸入已知的參考譜線波長(zhǎng),屏幕下方給出了氦譜的數(shù)據(jù),選中文本框后單擊即可輸入. 若參考譜線是其他元素的譜線,則需要自行查找數(shù)據(jù)輸入. 這里程序還提供了一些功能:查看氦、汞、鈉譜的拼接結(jié)果;刪除氦譜多余譜線(一般為雜點(diǎn));若結(jié)果不滿意,調(diào)整參數(shù)后程序會(huì)詢問(wèn)是否按照新的參數(shù)重新尋峰、拼接. 輸入完畢后單擊“下一步”.

圖8 確定參考譜線波長(zhǎng)

3.3 獲得未知譜線波長(zhǎng)

如圖9所示,程序插值得出了汞譜和鈉譜未知譜線波長(zhǎng). 若鼠標(biāo)光標(biāo)移動(dòng)到譜線上,屏幕下方會(huì)顯示光標(biāo)位置對(duì)應(yīng)的波長(zhǎng)(可以大致顯示出被遺漏的譜線波長(zhǎng)). 單擊“標(biāo)準(zhǔn)數(shù)據(jù)”可顯示汞譜和鈉譜可拍攝到的譜線波長(zhǎng)的參考數(shù)據(jù). 單擊“另存為圖片”可以將處理結(jié)果存為圖片.

圖9 獲得未知的譜線波長(zhǎng)

4 結(jié)果與討論

程序開(kāi)發(fā)的過(guò)程中使用了多組譜線圖實(shí)驗(yàn)數(shù)據(jù)進(jìn)行測(cè)試,操作正確的數(shù)據(jù)誤差可以控制在1 nm以內(nèi),其中1組數(shù)據(jù)通過(guò)選擇合適的參數(shù)和取樣位置可得到很精確的結(jié)果,誤差小于0.1 nm,如圖10所示. 參考數(shù)據(jù):汞譜:黃(暗) 579.07 nm,576.96 nm,綠546.07 nm,天藍(lán)(暗) 491.60nm,紫435.84nm[5];鈉譜:黃589.00nm,589.59 nm. 有1組數(shù)據(jù)曝光時(shí)間略長(zhǎng),亮譜線較粗,誤差較大,但一些暗的譜線能夠拍攝出來(lái),如圖11所示.

圖10 接近真實(shí)值的1組數(shù)據(jù)處理結(jié)果

總體來(lái)說(shuō),對(duì)于按實(shí)驗(yàn)要求操作得到的實(shí)驗(yàn)數(shù)據(jù),本程序能夠很好地計(jì)算出未知譜線的波長(zhǎng),一般情況下可精確到整數(shù)位(nm). 若拍攝時(shí)曝光時(shí)間太短或狹縫S1太窄,程序有可能無(wú)法識(shí)別或區(qū)分一些過(guò)暗的譜線;若曝光時(shí)間太長(zhǎng)或狹縫太寬,計(jì)算結(jié)果誤差較大. 可以分別用長(zhǎng)曝光、短曝光拍攝同一待測(cè)譜線,然后將圖片和參考譜線導(dǎo)入本程序,這樣程序可以分別準(zhǔn)確地計(jì)算出較暗譜線和較亮譜線的波長(zhǎng).

圖11 拍攝出暗譜線的1組數(shù)據(jù)處理結(jié)果

5 結(jié)束語(yǔ)

在棱鏡攝譜實(shí)驗(yàn)的數(shù)據(jù)處理過(guò)程中,利用計(jì)算機(jī)圖像處理技術(shù)實(shí)現(xiàn)了譜圖的自動(dòng)拼接,使得可拍攝譜線的范圍不受CCD感光面大小的限制,可以在同一張譜圖上拍攝出紫外、可見(jiàn)和近紅外波段的譜線,同時(shí)還能保證光譜的分辨率不降低. 在計(jì)算未知譜線波長(zhǎng)時(shí),通過(guò)三次樣條插值法進(jìn)行插值,與線性插值相比大大減小了插值時(shí)引入的計(jì)算誤差,特別是在標(biāo)準(zhǔn)譜線不是十分豐富的情形下. 本程序的開(kāi)發(fā)是在大學(xué)物理實(shí)驗(yàn)中融合計(jì)算機(jī)技術(shù)的應(yīng)用實(shí)例,相信未來(lái)更多實(shí)驗(yàn)?zāi)軌虿捎妙愃频奶幚砑夹g(shù),在減小誤差的同時(shí)提高數(shù)據(jù)處理的效率.

猜你喜歡
線圖譜線插值
內(nèi)涵豐富的“勾股六線圖”
基于HITRAN光譜數(shù)據(jù)庫(kù)的合并譜線測(cè)溫仿真研究
基于箱線圖的出廠水和管網(wǎng)水水質(zhì)分析
基于Sinc插值與相關(guān)譜的縱橫波速度比掃描方法
鐵合金光譜譜線分離實(shí)驗(yàn)研究
東山頭遺址采集石器線圖
鍶原子光鐘鐘躍遷譜線探測(cè)中的程序控制
一種改進(jìn)FFT多譜線插值諧波分析方法
基于四項(xiàng)最低旁瓣Nuttall窗的插值FFT諧波分析
藥芯焊絲GMAW電弧光譜的研究
梁平县| 嘉鱼县| 黎城县| 电白县| 七台河市| 泗阳县| 新绛县| 玛曲县| 阳山县| 富裕县| 屏东市| 宝应县| 来凤县| 师宗县| 桃园县| 兴城市| 沾化县| 澄江县| 温宿县| 吴忠市| 武定县| 都昌县| 应城市| 苍南县| 内丘县| 阿鲁科尔沁旗| 龙川县| 通辽市| 达州市| 南宁市| 耿马| 芦山县| 勃利县| 蒲城县| 泰顺县| 都匀市| 阜平县| 桦甸市| 朝阳区| 禄劝| 金塔县|