曹 妍,陳 偉
?
基于MATLAB GUI的指紋圖像增強(qiáng)技術(shù)研究
曹 妍1,陳 偉2
(1. 鹽城工學(xué)院 信息工程學(xué)院,江蘇 鹽城 224051;2. 鹽城市第一人民醫(yī)院 信息科,江蘇 鹽城 224005)
指紋識(shí)別作為生物識(shí)別技術(shù)中最可靠最常用的識(shí)別技術(shù),廣泛應(yīng)用在經(jīng)濟(jì)、安全等領(lǐng)域。本文介紹了利用高斯-拉普拉斯算子進(jìn)行指紋圖像增強(qiáng)的方法,重點(diǎn)闡述了利用MATLABA GUI進(jìn)行指紋圖像增強(qiáng)的設(shè)計(jì)方法和實(shí)現(xiàn)過程,對(duì)于開發(fā)基于圖形用戶界面的圖像處理軟件以及相關(guān)的圖像處理問題有一定的借鑒意義。
MATLAB GUI;指紋圖像;高斯-拉普拉斯算子;圖像增強(qiáng)
MATLAB是世界流行的科學(xué)計(jì)算與數(shù)學(xué)應(yīng)用軟件,具有高質(zhì)量、強(qiáng)大的數(shù)值計(jì)算能力,功能豐富的圖像處理工具箱,還提供了GUI開發(fā)環(huán)境——GUIDE,便于設(shè)計(jì)者創(chuàng)建圖形用戶界面,大大簡化了GUI設(shè)計(jì)和生成的過程[1]。
目前,指紋識(shí)別技術(shù)是數(shù)字圖像處理研究的熱點(diǎn)問題之一,由于指紋的唯一性、終生不變性、方便性等特點(diǎn),指紋作為一種生物識(shí)別特征已經(jīng)運(yùn)用到了門禁系統(tǒng)、銀行身份驗(yàn)證系統(tǒng)、考勤機(jī)等系統(tǒng)中[2]。而在指紋識(shí)別系統(tǒng)中,首先就是要獲得高質(zhì)量的指紋圖像。但是在實(shí)際獲取的過程中,總是由于各種原因,使得指紋圖像的質(zhì)量不高,需要對(duì)指紋圖像進(jìn)行預(yù)處理,增強(qiáng)指紋圖像的質(zhì)量,保證指紋的識(shí)別率。
指紋識(shí)別系統(tǒng)包括指紋圖像采集、圖像預(yù)處理、特征提取、特征匹配等步驟[3]。首先采用指紋采集專用設(shè)備采集指紋圖像,而獲得的指紋圖像在采集過程中不可避免地會(huì)夾雜著一些噪聲,這些噪聲會(huì)嚴(yán)重影響指紋圖像的質(zhì)量,不利于后續(xù)指紋的識(shí)別,所以在圖像獲取之后要進(jìn)行圖像的預(yù)處理,然后進(jìn)行全局特征和細(xì)節(jié)特征的提取,通過特征匹配,也就是將輸入的指紋特征與特征庫中的指紋進(jìn)行比對(duì),來檢驗(yàn)指紋圖像是不是來源于同一個(gè)手指[2]。
圖像預(yù)處理是指紋圖像識(shí)別系統(tǒng)中非常重要的一個(gè)步驟。通過采集設(shè)備獲得的指紋圖像有不同程度的噪聲[4],會(huì)影響指紋的識(shí)別,圖像預(yù)處理就是把圖像中的噪聲去掉,獲得更加清晰地指紋紋路圖像,保證特征提取、特征匹配等后續(xù)指紋識(shí)別的進(jìn)行[5]。而圖像增強(qiáng)在圖像預(yù)處理中起著舉足輕重的作用。
圖像增強(qiáng)技術(shù)分為空間域圖像增強(qiáng)和頻率域圖像增強(qiáng)兩類[6,10,11]??臻g域圖像增強(qiáng)在空間域直接對(duì)像素灰度值進(jìn)行運(yùn)算。頻率域圖像增強(qiáng)先通過某種變換T將圖像f變換到頻率域,然后利用高通或低通濾波函數(shù)對(duì)圖像進(jìn)行濾波,得到新的頻譜G,對(duì)G進(jìn)行逆變換T-1得到增強(qiáng)以后的圖像g[1]。
傳統(tǒng)的圖像增強(qiáng)的方法有灰度修正、同態(tài)增晰、平滑、銳化等。通過采集設(shè)備獲得的不同的指紋圖像具有不同的噪聲,目前沒有通用的圖像增強(qiáng)算法對(duì)指紋圖像進(jìn)行處理。文中以高斯-拉普拉斯算子為例,討論MATLAB GUI設(shè)計(jì)和實(shí)現(xiàn)的一般過程。
拉普拉斯算子是具有各向同性的二階微分算子[1]。在數(shù)字圖像處理中,主要用來對(duì)圖像進(jìn)行銳化,加強(qiáng)圖像中景物的邊緣和輪廓,使模糊圖像變得更加清晰。圖像模糊的實(shí)質(zhì)是圖像執(zhí)行了平均或積分運(yùn)算,對(duì)其進(jìn)行逆運(yùn)算,也就是差分運(yùn)算,就可以對(duì)模糊的圖像進(jìn)行增晰,質(zhì)量得到提高。
一個(gè)連續(xù)二元函數(shù)f(x,y)的拉普拉斯運(yùn)算定義為:
由于拉普拉斯算子對(duì)噪聲具有不可接受的敏感性,可能丟失部分邊緣的方向信息,幅值容易產(chǎn)生雙邊緣,因此拉普拉斯算子一般不直接對(duì)原始圖像進(jìn)行邊緣檢測(cè)[7]。通常先用高斯函數(shù)對(duì)圖像進(jìn)行平滑去噪,然后再應(yīng)用拉普拉斯算子。高斯函數(shù)的表達(dá)式如下:
整理各項(xiàng)后得出如下最終表達(dá)式:
該表達(dá)式稱為高斯-拉普拉斯算子(LoG)。
MATLAB圖像處理工具箱中利用fspecial函數(shù)可以生成LoG算子,調(diào)用形式如下:
圖像用戶界面是由菜單控件、按鈕控件、坐標(biāo)軸控件、滾動(dòng)條控件、面板控件等對(duì)象控件構(gòu)建的[9]。利用MATLAB提供的圖形用戶界面的軟件開發(fā)環(huán)境GUIDE進(jìn)行圖形用戶界面的設(shè)計(jì),可以讓開發(fā)者快速上手,減少編程工作量,提高開發(fā)效率。
利用GUIDE進(jìn)行圖形用戶界面設(shè)計(jì)的步驟如下:
(1)明確設(shè)計(jì)任務(wù),根據(jù)設(shè)計(jì)功能繪制設(shè)計(jì)草圖;
(2)對(duì)GUI對(duì)象進(jìn)行布局,設(shè)計(jì)者直接通過鼠標(biāo)將對(duì)象選擇區(qū)中所需的對(duì)象拖拽到目標(biāo)位置;
(3)打開對(duì)象的屬性查看器,設(shè)置對(duì)象的相關(guān)屬性,其中Tag屬性是非常重要的屬性,是每一個(gè)控件的唯一標(biāo)識(shí)值,通過此標(biāo)識(shí)值對(duì)控件進(jìn)行控制;
(4)編寫操作對(duì)象的回調(diào)函數(shù),函數(shù)名為控件Tag + Callback類型名,GUIDE只給出了函數(shù)框架,開發(fā)者需要補(bǔ)充實(shí)現(xiàn)回調(diào)函數(shù)相關(guān)功能的語句[1]。
(5)運(yùn)行測(cè)試,如有問題反復(fù)進(jìn)行上述過程。
在MATLAB命令窗口中輸入命令guide即可啟動(dòng)GUIDE,選擇“Blank GUI”創(chuàng)建空白GUI,進(jìn)入GUIDE編輯界面。根據(jù)功能設(shè)計(jì)草圖完成GUI對(duì)象的布局,設(shè)置對(duì)象的屬性,運(yùn)行并保存在FIG文件中,系統(tǒng)同時(shí)自動(dòng)生成了相同文件名的M文件,M文件中需要補(bǔ)充GUI回調(diào)函數(shù)的相關(guān)功能的語句[9]。
“打開圖像文件”按鈕的回調(diào)函數(shù)代碼如下:
function OpenImagebutton_Callback(hObject, eventdata, handles)
[file path]=uigetfile('*.bmp;*.jpg;*.png','請(qǐng)選擇一幅圖像');
if file==0 warndlg('您得輸入一幅圖像');
else I=imread(fullfile(path,file));
axes(handles.axes1);
imshow(I);
handles.I=I;
end
guidata(hObject,handles);
“LoG算子增強(qiáng)”按鈕的回調(diào)函數(shù)的主要代碼如下:
function LoGEnhancebutton_Callback(hObject, eventdata, handles)
I=handles.I;
H1=fspecial('log',[5 5],0.2);
G1=imfilter(I,H1);
axes(handles.axes2);
imshow(G1);
%依次將高斯函數(shù)的標(biāo)準(zhǔn)差賦值為0.2,0.5,0.8,模板大小為5*5,對(duì)選擇的圖像進(jìn)行LoG算子%增強(qiáng),并將處理的結(jié)果顯示在坐標(biāo)軸中。
模板的大小和標(biāo)準(zhǔn)差的取值在程序中已經(jīng)設(shè)置好,用戶無法修改,如果將標(biāo)準(zhǔn)差的取值以及模板的大小由用戶設(shè)定,在圖像處理的過程中能夠?qū)崿F(xiàn)用戶交互功能,輔以菜單、下拉列表等控件,一定能夠使MATLAB GUI的指紋圖像增強(qiáng)系統(tǒng)功能更加強(qiáng)大。
文中闡述了用高斯-拉普拉斯算子對(duì)指紋圖像進(jìn)行增強(qiáng)的方法,重點(diǎn)介紹了基于MATLAB GUI的圖形用戶界面的設(shè)計(jì)實(shí)現(xiàn)過程,結(jié)合MATLAB圖像處理箱中豐富的圖像處理函數(shù),以及MATLAB強(qiáng)大的數(shù)值處理功能,一定能夠開發(fā)出更加優(yōu)秀的圖像處理軟件。
圖1 圖像增強(qiáng)效果
[1] 胡學(xué)龍. 數(shù)字圖像處理(第3版)[M]. 北京: 電子工業(yè)大學(xué)出版社, 2014, 8.
[2] 郭依正, 焦蓬蓬. Matlab GUI在低質(zhì)量指紋圖像增強(qiáng)中的應(yīng)用[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2013, 27(7): 230-232.
[3] 陳園, 侯贊, 劉軍華, 等. 基于改進(jìn) K-Means 聚類醫(yī)學(xué)圖像配準(zhǔn)[J]. 軟件, 2018, 39(01): 75-82.
[4] 曹妍, 陳偉, 徐森. 圖像去噪方法研究與仿真[J]. 軟件, 2015, 36(4): 33-36.
[5] 郭璇, 鄭菲, 趙若晗, 等. 基于閾值的醫(yī)學(xué)圖像分割技術(shù)的計(jì)算機(jī)模擬及應(yīng)用[J]. 軟件, 2018, 39(3): 12-15.
[6] 姚楠, 耿奇. 基于MATLAB GUI 的車牌自動(dòng)識(shí)別系統(tǒng)設(shè)計(jì)[J]. 軟件, 2016, 37(3): 44-46.
[7] 朱靜, 閔芳, 陳臘梅, 等. 基于指紋識(shí)別的支付系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件, 2015, 36(5): 129-132.
[8] 劉必罡, 楊永紅. Laplace-Gaussian濾波算子在指紋增強(qiáng)中的應(yīng)用[J]. 電子設(shè)計(jì)工程, 2016, 24(23).
[9] 錢超. 基于MATLAB GUI的指紋圖像采集及預(yù)處理研究[D]. 太原: 中北大學(xué), 2013.
[10] 陳潔, 雷萌. 基于脈沖耦合神經(jīng)網(wǎng)絡(luò)的乳鼠心肌細(xì)胞圖像增強(qiáng)[J]. 軟件, 2018, 39(2): 41-43.
[11] 郭雷. 手勢(shì)識(shí)別中手分割算法綜述[J]. 軟件, 2015, 36(4): 81-83.
Research on Fingerprint Image Enhancement Technology Based on MATLAB GUI
CAO Yan1, CHEN Wei2
(1. School of Information Engineering, Yancheng Institution of Technology, Yancheng Jiangsu 224051, China; 2. Yancheng First People’s Hospital, Yancheng Jiangsu 224005, China)
This paper introduces the method of fingerprint image enhancement using Laplace-Gaussian operator, and focuses on the design method and implementation process of fingerprint image enhancement using MATLABA GUI. It has certain reference significance for developing image processing software based on graphical user interface and related image processing problems.
MATLAB GUI; Fingerprint image; Laplace-gaussian operator; Image enhancement
TP391
A
10.3969/j.issn.1003-6970.2018.11.007
江蘇省科技廳科技支撐計(jì)劃項(xiàng)目(批準(zhǔn)號(hào):BY2016065-02)、鹽城市科技計(jì)劃項(xiàng)目(批準(zhǔn)號(hào):DX2015-018)
曹妍(1981-),女,講師,主要研究方向:圖像處理;陳偉(1979-),男,工程師,主要研究方向:網(wǎng)絡(luò)與信息處理。
曹妍,陳偉. 基于MATLAB GUI的指紋圖像增強(qiáng)技術(shù)研究[J]. 軟件,2018,39(11):30-32