【正文】
定區(qū)域的合并,具體步驟如下: 步驟一:把像素分成互不重疊的小區(qū)域。在實(shí)際應(yīng)用區(qū)域生長(zhǎng)法是需要解決三個(gè)問(wèn)題: ( 1)確定一組能正確代表所需區(qū)域的種子像素; ( 2)確定在生長(zhǎng)過(guò)程中能將像素包括進(jìn)來(lái)的準(zhǔn)則; ( 3)制定讓生長(zhǎng)過(guò)程停止的條件或規(guī)則。假設(shè)縮略圖的寬和長(zhǎng)度都為原圖的 1/2,那么縮略圖的面積將變?yōu)樵瓐D的 1/4,這樣查找種子點(diǎn)的運(yùn)算量將大大減小。 種子點(diǎn)定位 可以對(duì)二值化后的瞳孔圖像的水平和垂直兩個(gè)方向進(jìn)行灰度值投影,沿坐標(biāo)軸方向的進(jìn)行灰度值加值。在數(shù)字圖像處理中,二值圖像占有非常重要的地位,首先,圖像的二值化有利于圖像的進(jìn)一 步處理,使圖像變得簡(jiǎn)單,而且數(shù)據(jù)量減小,能凸顯出感興趣的目標(biāo)的輪廓。具體步驟是先找到灰度直方圖,選擇合適的閾值,對(duì)圖像中任意一點(diǎn)像素 f( x, y)與閾值 T 進(jìn)行判斷,大于閾值的點(diǎn)標(biāo)記為 1,小于閾值的點(diǎn)標(biāo)記為 0。 在物體與背景有較強(qiáng)的對(duì)比度的圖像中,此種方法應(yīng)用特別有效。局部閾值分割法是將原始圖像劃分成較小的圖像,并對(duì)每個(gè)子圖像選取相應(yīng)的閾值??梢?jiàn)在圖像特征提取之前重要的一部分工作就是圖像分割,圖像分割是圖像識(shí)別和圖像理解的基本前提步驟。開(kāi)、閉運(yùn)算就是為了解決這個(gè)問(wèn)題而被提出的。作用就是將目標(biāo)的邊緣或者是內(nèi)部的坑填掉。腐蝕是消除物體的所有邊界點(diǎn)的一種過(guò)程,其結(jié)果是使剩下的物體沿其周邊比原物體小一個(gè)像素的面積。 腐蝕 使用 B 對(duì) A 進(jìn)行腐蝕運(yùn)算,定義為: ( ) 其中 A 是輸入圖像的集合,集合 B 是結(jié)構(gòu)元素。 圖 光源圖 沈陽(yáng)理工大學(xué)學(xué)士學(xué)位論文 11 系統(tǒng)的軟件設(shè)計(jì) 本文用 Visual C+++OpenCV 軟件實(shí)現(xiàn)瞳孔的大小的計(jì)算,并且畫(huà)出瞳孔視頻文件中瞳孔大小的曲線圖。由于要使用較多的外設(shè)接口,且要求控制模塊能夠降低功耗,因此本系統(tǒng)采用的是基于 CortexM3 內(nèi)核的 STM32F101RBT6 ARM 芯片。紅外光源采用紅外二極管,用作暗視條件下檢測(cè)光源??刂飘a(chǎn)生不同顏色、不同強(qiáng)度、不同頻率的特定光刺激條件下,動(dòng)態(tài)采集人眼部圖像傳送至計(jì)算機(jī),經(jīng)圖像處理模塊從視頻圖像中進(jìn)行檢測(cè)識(shí)別并標(biāo)定瞳孔位置,同時(shí)獲得瞳孔的各數(shù)值化參數(shù)及變化情況。如 Bayes 分類(lèi)器, K 近鄰算法,支持向量機(jī),決策樹(shù),神經(jīng)網(wǎng)絡(luò)等等。大量的新特性被加入 OpenCV 中,很多算法都是最近一兩年的新的科研成果。在后期 Intel 支持漸少的時(shí)候,是 Vadim Pisarevsky 一直在維護(hù)著 OpenCV。 OpenCV 的介紹 沈陽(yáng)理工大學(xué)學(xué)士學(xué)位論文 6 OpenCV 的全稱(chēng)是 Open Source Computer Vision Library,是一個(gè)開(kāi)放源代碼的計(jì)算機(jī)視覺(jué)庫(kù)。 國(guó)內(nèi)外人眼的瞳孔識(shí)別和定 位方面已經(jīng)有了大量的研究, ZAFER SAVAS 等人利用人臉自動(dòng)檢測(cè)技術(shù),首先根據(jù)比例關(guān)系在人臉上定位眼部的區(qū)域,在此基礎(chǔ)上對(duì)人的瞳孔進(jìn)行標(biāo)準(zhǔn)圓形匹配檢測(cè),完成了較好的效果。 瞳孔檢測(cè)作為虹膜檢測(cè)識(shí)別的一個(gè)子模塊,在多個(gè)領(lǐng)域中都有廣泛的運(yùn)用。隨后研究者引進(jìn)數(shù)字照相技術(shù),發(fā)展為照相測(cè)量法,國(guó)外有使用 NICkon 專(zhuān)業(yè)自動(dòng)閃光數(shù)字照相機(jī)來(lái)記錄瞳孔大小。國(guó)內(nèi)在此方面的研究還較少,中山大學(xué)賀奇才等研制出瞳孔孔徑動(dòng)態(tài)變化測(cè)沈陽(yáng)理工大學(xué)學(xué)士學(xué)位論文 4 量分析裝置,但其局限在測(cè)量出瞳孔孔徑,光刺激是手工操作的。 目前瞳孔監(jiān)測(cè)算法的發(fā)展 眼睛動(dòng)態(tài)檢測(cè)系統(tǒng)的設(shè)計(jì)與應(yīng)用研究,醫(yī)學(xué)領(lǐng)域的數(shù)字化瞳孔測(cè)量研究還較少。前者的神經(jīng)傳導(dǎo)徑路同光反射傳導(dǎo)徑路(下文述及)。早在 1994 年, Scinto 等人 2 提出利用擴(kuò)瞳試驗(yàn)作為老年性癡呆( alzheimer disease, AD)早期診斷的可能性。正常的瞳孔為圓形,黑色透明, 兩側(cè)等大。瞳孔對(duì)光反應(yīng)( Pupillary Light Reflex, PLR)的含義為,當(dāng)受試者注視正前方,光線刺激從眼旁移到眼前垂直照射瞳孔,正常時(shí)感光的瞳孔敏捷地縮小,解除光照瞳孔即又開(kāi)大,稱(chēng)為直接光反應(yīng)。 open operation。通過(guò)對(duì)視頻文件的逐幀采集,對(duì)采集的幀圖像,進(jìn)行圖像處理得到瞳孔的面積大小并用特殊顏色標(biāo)識(shí)瞳孔,然后進(jìn)行幀合成為視頻輸出文件。 關(guān)鍵詞 :二值化;開(kāi)運(yùn)算;區(qū)域生長(zhǎng)法;瞳孔定位; C++ 沈陽(yáng)理工大學(xué)學(xué)士學(xué)位論文 II Abstract Based on the infrared body under the condition of recording pupil video as treatment object, the pupil video preprocessing, get with the special color identification pupil video for the output. Through the frame by frame of video file collection, the collection of image, image processing of pupil size and special color mark the pupil, then the frame synthesis for video output file. This article adopts the corrosion, expansion, with the frame of open operation, binary image preprocessing methods, such as using region growing algorithm to get the pupil area, so as to calculate the relative sizes of pupil area, can calculate the pupil size, and draw the pupil area change curve, and then synthesize processed image frames into video output file, so as to realize the dynamic analysis of the pupil. In this paper, the frame is based on the processing of binarization of coarse location and region growing method with the bination of methods, can effectively detect irregular round pupil by lesions, simple and rapid. Preprocessing of the first to use morphological open operation to remove eyelash and bright spots and keep the pupil size, the influence of the generated thumbnail at the same time。瞳孔圖如圖 所示。瞳孔對(duì)光反應(yīng)的信息傳遞通路為:視網(wǎng)膜接受光刺激,視神經(jīng)和視束傳遞信息,經(jīng)上丘到達(dá)中腦蓋前區(qū),反饋信息驅(qū)動(dòng)動(dòng)眼神經(jīng)支配瞳孔控制肌肉進(jìn)行收縮、放大。 通過(guò)對(duì)人眼瞳孔的精確定位檢測(cè),可使得眼科手術(shù)的安全性和可靠性得到極大的提升,同時(shí)在醫(yī)療器械眼科輔助檢查方面提供精確的數(shù)據(jù)支持;通過(guò)對(duì)人眼瞳孔的檢測(cè)跟蹤,根據(jù)瞳孔大小參數(shù)和人眼的開(kāi)閉時(shí)間來(lái)判斷駕駛員是否疲勞駕駛,可主動(dòng)性地減少交通事故的發(fā)生;通過(guò)對(duì)人眼瞳孔的定位檢測(cè),可對(duì)人的注視點(diǎn)及注視行為等進(jìn)行檢測(cè)、分析,實(shí)現(xiàn)眼動(dòng)、人工智能方面的控制;通過(guò)對(duì)人眼 瞳孔的定位檢測(cè)及跟蹤,可了解并進(jìn)而分析人的心理狀態(tài),從側(cè)面解決人類(lèi)的交流問(wèn)題;通過(guò)對(duì)人眼瞳孔的定位檢測(cè),為基于生物特征識(shí)別技術(shù)的人臉識(shí)別和虹膜識(shí)別等應(yīng)用研究提供堅(jiān)實(shí)的研究基礎(chǔ);通過(guò)對(duì)人眼瞳孔的定位及跟蹤,可分析人的精神狀態(tài),分析神經(jīng)系統(tǒng)的反應(yīng)及病變 [1]。瞳孔本身具有生理性的瞬時(shí)波動(dòng),其大 小無(wú)時(shí)不在變化,而且可因光線、注視目標(biāo)遠(yuǎn)近、年齡、屈光狀態(tài)、種族、虹膜色素多少、睡眠與覺(jué)醒、情緒的不同等因素而變化。我們稱(chēng)被照眼的瞳孔反應(yīng)為直接對(duì)光反射,對(duì)側(cè)眼的瞳孔反應(yīng)為間接對(duì)光反射。馬原野課題組的檢測(cè)設(shè)備和方法明顯優(yōu)于國(guó)內(nèi)現(xiàn)有的常用方法,為確認(rèn)吸毒人員工作提供了一種新的檢測(cè)技術(shù)。后來(lái)發(fā)展出直尺目測(cè)法,檢測(cè)者采用直尺測(cè)量,開(kāi)始定量表示瞳孔的大小。 WaChler等創(chuàng)研究了這 3 種角膜地形圖檢查瞳孔的可信度和可重復(fù)性,他們發(fā)現(xiàn)這些儀器因照明系統(tǒng)的緣故所測(cè)瞳孔直徑偏小,該研究也指出角膜地形圖檢查瞳孔的操作者間可重復(fù)性差,因此并不可信。 SungSub Song 沈陽(yáng)理工大學(xué)學(xué)士學(xué)位論文 5 等提出了一種簡(jiǎn)單而有效的瞳孔和凝視檢測(cè)方法,用于頭戴式的光學(xué)交互系統(tǒng)?,F(xiàn)有的瞳孔檢測(cè)算法,將粗細(xì)定位相結(jié)合,二值化初定位,然后 Hough 精確定位 [7]。 OpenCV 最初的開(kāi)發(fā)工作是由 Intel在俄羅斯的團(tuán)隊(duì)實(shí)現(xiàn)?,F(xiàn)在已經(jīng)開(kāi)發(fā)了 PR2 機(jī)器人,并支持 ROS、 OpenCV、 PCL 等軟件。 CVCAM 模塊包含攝像機(jī)接口等,在 以后的版本中已經(jīng)被移除。 系統(tǒng)的總體結(jié)構(gòu) 系統(tǒng)框圖如圖 所示。圖像采集數(shù)據(jù)傳輸圖如圖 所示。因此,考慮到本文實(shí)際操作環(huán)境,采用具有紅外背光補(bǔ)償?shù)臄z像頭來(lái)采集瞳孔圖像。為使的光源能在球體內(nèi)均勻散射,故此需三種顏色的 LED 都對(duì)稱(chēng)、均勻分布;同時(shí),每種色采用串并級(jí)聯(lián)以滿(mǎn)足電流、電壓 在電氣參數(shù)上的要求。 圖 瞳孔檢測(cè)過(guò)程 預(yù)處理 由于光斑、眼瞼以及濃密的睫毛等原因,使得紅外瞳孔圖像受到一定的噪聲干擾,所以需要進(jìn)行圖像預(yù)處理和濾波。腐蝕是一種消除邊界點(diǎn),使邊界向內(nèi)部收縮的過(guò)程。對(duì)瞳孔圖片腐蝕后的結(jié)果如下圖 所示: 圖 瞳孔腐蝕圖 膨脹 由于 A 和 B 是 Z 中的集合, A 被 B 膨脹定義為: ( ) 簡(jiǎn)單的膨脹運(yùn)算是將與某物體接觸的所有背景點(diǎn)合并到該物體中的過(guò)程,其結(jié)果是使剩下的物體沿其周邊比原物體大一個(gè)像素的面積。對(duì)瞳孔圖片膨脹后的結(jié)果如下 圖 所示。在瞳孔檢測(cè)預(yù)處理中,形態(tài)學(xué)開(kāi)運(yùn)算首先進(jìn)行腐蝕運(yùn)算,去除眉毛等比較細(xì)小部分,然后進(jìn)行膨脹,這樣可以恢復(fù)瞳孔原來(lái)的大小,使得瞳孔保持原始大小。圖像分割的方法和種類(lèi)有很多,有些分割運(yùn)算可直接應(yīng)用于任何圖像,而另一些只能適用于特殊類(lèi)別的圖像?;叶鹊拈撝底儞Q的變換函數(shù)表達(dá)式如 下: ?? ?? , ?? = 255 , ?? ?? , ?? ??0 , ?? ?? , ?? ≤ ?? ( ) 其中 T 為規(guī)定的閾值。由于這個(gè)原因,我們需要一個(gè)最佳的 ,或至少是具有一致性的方法確定閾值。值得說(shuō)明的是,在后面的實(shí)現(xiàn)系統(tǒng)中,也是采用固定閾值來(lái)進(jìn)行瞳孔粗分割。 平均值法:平均值法使每個(gè)像素點(diǎn)的 RGB 值等于原像素點(diǎn)的 RGB 值的平均值,即R=G=B=(R+G+B)/3。如果原圖的尺寸較大,那么在整個(gè)運(yùn)算過(guò)程中,種子點(diǎn)的查找會(huì)消耗大量的時(shí)間。 區(qū)域生長(zhǎng)的基本思想是將具有相似性質(zhì)的像素集合起來(lái)構(gòu)成區(qū)域。 步驟四:返回步驟一,繼續(xù)掃描直到所有像素都有歸屬,則結(jié)束整個(gè)生長(zhǎng)過(guò)程。 本文采用第一種生長(zhǎng)準(zhǔn)則是基于灰度差。 圖 視頻文件查看模塊流程圖 軟件的具體實(shí)現(xiàn) 環(huán)境配置 在 Visual C++ 中的配置。界面如圖 所示。 //播放 frame_pos 幀視頻 void PauseVideo()。 //捕獲 CString m_filepath。 //定 時(shí)器 int m_speed。 { for(int i=0。kpimgheight。 int maxy=yp[0]。ymax=m。xinwidth。 圖 膨脹卷積圖 注意的是源圖像不可與目標(biāo)圖像設(shè)為同一個(gè),否則第三行 和第四行后四個(gè)將全被標(biāo)記。二值化函數(shù)的詳細(xì)使用法在附錄 D 中。 上圖小模板的原點(diǎn)在 (0,1)處,然后與源圖像進(jìn)行模板卷積得到了結(jié)果。 outimageData[y*inwidth+x]=temp。 =ymax。lpimgwidth。 for(int j=0。i++) { xp[i]=0。 具體的操作代碼在附錄 C 中。 //播放區(qū)域 HDC m_hdc。 //停止播放 int GetPlaySpeed()。自己封裝 Video 類(lèi)來(lái)實(shí)現(xiàn)此功能。 處 理 后 的 幀幀 合 成 視 頻 文 件幀 是 否 結(jié) 束查 看 合 成 的 視 頻 文 件結(jié) 束是否沈陽(yáng)理工大學(xué)學(xué)士學(xué)位論文 24 圖 OpenCV 全局配置