?

Hough變換和輪廓匹配相結合的瞳孔精確檢測算法

2016-05-14 10:37毛順兵
計算機應用 2016年5期

毛順兵

摘要:針對紅外眼部視頻中瞳孔直徑檢測精度不夠高的問題,提出了一種將Hough圓變換和輪廓匹配相結合的瞳孔檢測算法(HoughContour)。對每幀圖像,首先進行灰度化并濾波去噪;然后提取邊緣并利用修改后的Hough梯度法檢測出初始圓作為瞳孔參數;最后在濾波后的灰度圖上的瞳孔附近用位置和半徑在一定范圍可變的圓形輪廓去匹配瞳孔,從而計算出瞳孔中心坐標和直徑。在Hough變換階段,將Hough梯度法中的對候選圓心按累加值降序排序這一步驟改為尋找最大值,以降低該操作以及后續計算半徑的時耗。通過實驗尋找到圓心累加數組最大值的閾值,使其能自動排除閉眼幀且不會導致漏檢。在輪廓匹配階段,實驗發現如果圓形輪廓的移動范圍和半徑伸縮范圍取值為初始圓半徑的十分之一,點對數取值為40,則可將瞳孔的精確匹配率從OpenCV圓變換檢測算法的約10%提高至99.8%。對算法的時間性能作了測試,在實驗所用的低端電腦上處理一幀需要60ms,在高端電腦上可以對紅外瞳孔視頻做到實時檢測。

關鍵詞:瞳孔檢測;Hough變換;輪廓匹配;紅外視頻;OpenCV

中圖分類號:TP391.41 文獻標志碼:A

Abstract:In order to improve the precision of detection on the diameter of pupils in infrared eye videos, an exact pupil detection algorithm (HoughContour) combining Hough transformation and contour matching was proposed. Firstly, each image frame was grayed and filtered; secondly, the edge of the image was extracted and the initial circle was detected and taken as the pupil parameter by the revised Hough gradient method; finally, around the pupil, a circular contour whose position and radius varies in a limited range was used to match the pupil, realizing the calculation of pupil centers coordinate and diameter. In the phase of Hough transformation, the descending sort of candidate circle centers according to their accumulated values in Hough transformation was turned into searching for their maximum, in order to reduce the time consumption of this proceeding and the calculation of radius later. In the experiment, the threshold of the maximum in the array of accumulated values was searched and the image frames of closing eyes were excluded by this threshold. In the phase of contour matching, the experiment shows that if the range of the circular contour moving and stretching was assigned one tenth of the radius of the initial circle, and if the number of point pairs was assigned 40, the precision of detection on pupils would reach 99.8% from around 10% which was attained by OpenCV circle transformation. In the experiments on time performance, the proposed algorithm needed 60ms to process one frame on the lowend computers, and the realtime detection on infrared eye videos can be achieved on the highend computers.

Key words:pupil detection; Hough transformation; contour matching; infrared video; OpenCV

0 引言

瞳孔檢測依據其目的可分為兩類。一類是將瞳孔檢測作為一個中間環節,以便進行人臉檢測、表情分析、人機交互等處理;第二類是利用精確的瞳孔檢測本身,將瞳孔直徑、位置等檢測結果直接用于心理研究、刑偵、醫學工程等方面。在第二類的應用中, Behrends等[1]試圖用瞳孔參數的變化來檢測瀕死病人的存活狀態。Morad等[2]試圖用瞳孔參數來評估司機疲勞駕駛。Kaklauskas等[3]開發了一套瞳孔分析系統,用以評估學生的學習狀況。根據光源的性質,瞳孔檢測也可分為兩類:一是可見光,二是紅外光。第二類由于對檢測精確度要求更高,所以往往采用紅外光。這是因為瞳孔和周圍的虹膜對紅外光的反射不同,因此在紅外光下瞳孔邊緣更為顯著,不過同時會在瞳孔上留下反光白斑。本文算法針對第二類應用,基于紅外眼部視頻,精確檢測出每一幀的瞳孔中心坐標和瞳孔直徑。

瞳孔檢測往往受到眼瞼邊緣、睫毛、反光白斑等干擾,這給瞳孔的精確檢測帶來了難度[4]。文獻[4]將瞳孔邊緣內接平行四邊形的中心作為瞳孔中心,并選取邊緣上5點計算瞳孔的特征,雖然運算速度較快,但由于邊緣點的選取不易精準,故難以做到精確檢測。Nair等[5]提出了基于Hough變換的橢圓檢測算法,雖然Hough基于邊緣、魯棒性好,但橢圓的參數太多,導致參數空間累加器耗時太高,實時性差。張杰等[6]提出了用Hough圓變換檢測瞳孔的方法,郝明剛等[7]提出用Hough圓變換精確定位瞳孔中心的方法,由于受到噪聲邊緣、睫毛邊緣、白光邊緣、眼瞼邊緣的影響,檢測結果并不精確。田野等[8]提出用形態學重構瞳孔圖像,再二值化并取得瞳孔直徑。此外,有學者提出用模板匹配的方法來檢測瞳孔,要么運算慢,要么難以確定模板大小。

針對紅外眼部視頻,本文將OpenCV的icvHoughGradient圓變換算法作了修改,降低了時間復雜度,并用修改后的Hough圓變換初步檢測出瞳孔,再用輪廓匹配對瞳孔進行精確檢測。

那么該圓對應了abr三維參數空間中的一個點,其中a、b、r 分別表示圓心的x坐標、y坐標、半徑。同理,xy圖像空間中的一個點,對應了abr空間中一個圓錐形曲面。如果圓形邊緣上的點足夠多,那么它們對應的若干曲面會相交于點(a,b,r), 因此在二值化的邊緣圖像中,每找出一個非零點,就要在abr空間累加器中進行累加。最后,abr空間中的每個峰值代表了一個圓。

由于標準Hough圓變換基于三維參數空間,執行效率太低,因此標準Hough圓變換很難實際應用。文獻[9]利用圓上點的法線經過圓心的特點,文獻[10]利用弦的中垂線必過圓心的性質,它們都能將參數空間降到二維。文獻[11]利用三點雙弦相交于圓心的特點,進一步將參數空間降低到一維,但瞳孔的運動會造成邊緣模糊,因此不太適合。

icvHoughGradient圓變換算法的原理是,將問題分解為兩個步驟:第一步是尋找所有可能的圓心,將它們稱為候選圓心;第二步是確定半徑。第一步要根據圓上點的法線經過圓心的特點,在ab二維累加器中累加。第二步要針對每一個候選圓心,考察它與其他已確定的圓心的距離,從而判斷是保留還是舍棄;若保留則還要考察其受到邊緣像素多大的支持,從而決定半徑。

1.2 算法的不足

該算法用于檢測瞳孔直徑和位置有兩個不足: 第一,在第一步中,累加完成之后,icvHoughGradient算法需要對這些候選圓心按累加值降序排列。由于該算法并不是專門針對瞳孔檢測設計的,因此往往有幾千個候選圓心,故排序操作以及后期計算半徑的操作將會增加時耗。第二,由于受到噪聲邊緣、睫毛邊緣、白光邊緣、眼瞼邊緣的影響,檢測結果并不精確。

2 HoughContour算法

2.1 算法總體流程

本文對文獻[6-7]中的Hough圓變換進行了改進,以降低時耗;并在圓變換初步檢測出瞳孔之后,利用輪廓匹配技術對瞳孔中心和直徑進行精確檢測。算法對紅外視頻進行逐幀檢測,每讀取一幀圖像后需先灰度化,然后按下述步驟進行處理:

1)濾波降噪。

2)邊緣提取。

3)改進的Hough圓變換,僅保留圓心累加值最大的那一個圓;如果檢測不到圓,認為該幀處于閉眼狀態或睜閉眼過程,返回。

4)在此唯一圓的附近進行輪廓匹配,精確計算出瞳孔的中心坐標和直徑,并記錄下來。

2.2 濾波降噪

圖像中不可避免會有噪聲,它們可能是系統外部的電磁干擾引起的外部噪聲,也可能是系統內部機械、光電、材料等引起的內部噪聲。噪聲會影響后續的目標檢測,因此需要先進行濾波降噪。

濾波方法有很多。由于后續的Hough變換依賴邊緣,所以算法選擇中值濾波。因為鄰域的中值不受個別噪聲毛刺的影響,相當好地消除沖擊噪聲[12],而且中值濾波在降噪的同時可以很好地保留邊緣特性。

中值濾波的鄰域可以有十字形、圓形、矩形等多種形狀,由于瞳孔是圓形,沒有明顯角點,所以算法選用方形鄰域。其原理是,對每一個像素p,考慮其n鄰域。將這n×n個像素的值按大小排序,然后將排在中間的那個值賦給像素p,其中,n是奇數。

圖1(a)是某320×240的紅外視頻幀濾波前的圖像,圖1(b)是對圖1(a)施加5×5中值濾波的結果。

2.3 邊緣提取

由于Hough變換是基于邊緣圖像的,因此濾波之后需要提取邊緣。由于Canny檢測子不易丟失重要邊緣,并且檢測出來的邊緣位置與實際邊緣位置偏差最小,所以算法采用Canny來檢測邊緣。圖2是對圖1(b)采用不同閾值進行Canny邊緣檢測產生的二值化邊緣圖。

調用時,Sobel算子內核大小取值3。另外兩個參數中,較大者是控制強邊緣初始分割的閾值,即,像素梯度大于該閾值的都被認為是強邊緣,需保留;較小的閾值用來控制邊緣連接,即,小于它的被拋棄,介于兩個閾值之間的是否保留則要看它是否和強邊緣相連。圖2(a)顯示檢測出的邊緣較少,圖2(b)則較多。小閾值往往取大閾值的1/2。實驗發現,由于紅外視頻中瞳孔邊緣非常明顯,所以如果大閾值采用區間[40,170]中的某個值,那么瞳孔都可以被Hough圓變換檢測出來。不過圖2(b)采用的閾值小,使得邊緣點過多,會使得后續的圓變換耗時更長。實際系統中Canny算子的兩個閾值可分別取值為100和50,既能保留足夠多的邊緣像素,又不會給圓變換操作帶來太大負擔。本文后面所有的邊緣檢測都采用這兩個閾值。

2.4 修改后的Hough梯度法圓變換

icvHoughGradient圓變換檢測瞳孔的第一項不足是時耗太高,本文對該算法作了修改。在實際的瞳孔視頻幀中,瞳孔只有一個,故將icvHoughGradient算法中的降序排序改為尋找最大值。如此一來,不僅減少了排序自身的時耗,而且也降低了計算半徑的時間開銷??赡苡袔讉€候選圓心的累加值同為最大值,但它們是相鄰的,而且這里只是粗定位,所以任何一個作為圓心都是可行的。

修改后的圓變換算法可描述如下:

算法1 修改后的圓變換算法。

輸入 邊緣圖;

輸出 唯一圓c0的中心坐標和直徑(x0, y0, r0)。

1)對于邊緣圖像上的每個非零點,利用cvSobel計算x和y方向的一階導數,從而得到梯度。

2)沿著梯度方向和反方向,對最小半徑和最大半徑指定范圍內的點進行累加。

3)所有非零點都經過1)~2)的處理之后,在累加數組中尋找最大值,如果最大值小于給定的累加器閾值,則認為處于閉眼狀態或睜閉眼過程,返回;如果最大值不小于該閾值,那么該最大值的下標是唯一圓心(x0, y0)。

4)將邊緣圖像中所有非零像素按照它與唯一圓心的距離排序,選擇非零像素最支持的一條半徑r0,此時確定唯一圓。

例1 圓心累加數組和圓變換檢測結果。

圖3是對圖2(a)的邊緣圖像進行圓心檢測的結果。由于累加值較小,為便于呈現效果,故將累加值放大。對比圖2(a)和圖3,可以看到瞳孔中心附近的累加值較大,但并不集中,這是由于瞳孔邊緣并非標準的圓形,并且受到眼瞼和睫毛邊緣的影響。圖4是對圖1(a)進行濾波、邊緣提取、圓變換檢測后的結果。根據檢測出的瞳孔坐標和半徑,在濾波前的紅外圖像上用線寬1的白色細線畫了一個圓形。文中所有的白色圓形都是程序在原始紅外視頻幀上進行繪制。圖中可以看到圓變換檢測不夠精確,還需進行精確檢測。

圓變換中,如果圓心累加數組中的最大值小于給定閾值,算法認為視頻幀處于閉眼狀態或睜閉眼過程,從而檢測不出圓形。只要該閾值取值適合,就既能讓瞳孔中心通過,又能自然地排除睜閉眼過程,無需額外的睜閉眼判斷。通過大量實驗發現,該閾值可取值為30。在3.1節中對該閾值的取值和適用性進行了說明。

例2 睜閉眼的視頻幀自動排除。

圖5和圖6表示,對于睜閉眼過程幀和閉眼幀,由于圓心累加值小于閾值30,圓變換無法檢測出圓形。

2.5 輪廓匹配實現精確檢測

icvHoughGradient圓變換檢測瞳孔的第二項不足是檢測瞳孔中心坐標和半徑并不精確,HoughContour算法在圓變換之后又采用了輪廓匹配技術。匹配在灰度圖上進行,其理論依據是,在紅外視頻中瞳孔的灰度遠比虹膜更小。假定圓變換檢測出來的圓形為c0,其圓心坐標和半徑分別是x0、y0、r0。用一個半徑在一定范圍內可變的圓形c在c0附近區域移動,每到一處都要計算圓形c的內外的平均差值。算法認為,當圓c和瞳孔邊緣重疊時,平均差值取得最大值。此時的圓c,對應了真正的瞳孔中心位置和半徑。

可移動圓形c的圓心坐標和半徑用x、y、r表示。圖7(a)表示了圓c內外的一個點對,圖7(b)表示8個點對的情形。圖7(a)中點p1表示角度θ對應的圓內點,點p1′表示角度θ對應的圓外點。這兩個點組成了一個點對。要取得這兩個點的灰度值,需要先獲得它們的位置。

3 實驗結果與分析

實驗硬件平臺使用較低端的Acer筆記型電腦,CPU為奔騰雙核T2390,主頻為1.86GHz。軟件平臺為Windows XP、VC6、OpenCV 1.0,視頻解碼器為K-Lite_Codec_Pack_800_Mega。濾波平滑和邊緣提取分別采用OpenCV的cvSmooth和cvCanny,圓變換和輪廓匹配用C++實現。獲取時間是調用Windows API函數GetLocalTime實現, 后面的性能分析是基于此平臺。

3.1 圓變換時圓心累加閾值的取值

圓變換時,只有當圓心累加數組中的最大值大于指定閾值時,算法才認為它對應一個圓。所以該閾值的取值非常關鍵。

圖11(a)表示該閾值取值40時,某幀的瞳孔沒有檢測出來。原因是視頻圖像中瞳孔的運動使得瞳孔邊緣模糊,造成圓心累加太過分散,從而使得圓變換時圓心累加數組的最大值小于40。實驗時輸出圖11(a)的圓心累加數組最大值,發現是38。圖11(b)表示該閾值取值10時,在某閉眼幀中錯誤地檢測出了一個圓形。實驗時將圖11(b)的圓心累加數組最大值輸出,發現是11。

經過實驗統計發現,當該閾值取值20~35時,即便是圖11(a)中的邊緣模糊的瞳孔仍能檢測出來,同時能保證不檢測出睜閉眼過程和閉眼狀態的瞳孔。圖(c)表示閾值取30時,對圖(a)正確檢測出瞳孔,細線圓形和粗線圓形分別是圓變換初檢測和輪廓匹配精確檢測的結果。圖(d)表示閾值取30時,正確排除閉眼狀態。

圓心累加數組最大值的影響因素有瞳孔尺寸、是否處于睜閉眼過程、瞳孔是否運動。圖11(c)表示圓心累加閾值取值為30時,對于瞳孔運動引起的邊緣模糊的圖像能做到正確檢測。圖11(d)表示該閾值取值為30時,能自動排除睜閉眼圖像幀。但還有一個因素是以像素數計量的瞳孔尺寸。實驗發現,當瞳孔直徑大于30像素時,閾值取值30總能夠正確檢測出瞳孔。即只要紅外視頻中瞳孔直徑大于30像素,那么該閾值取值為30對于所有這些視頻都適用。但瞳孔直徑為20像素時,閾值取值30無法檢測出瞳孔,反而可能檢測出虹膜,這是由于瞳孔邊緣像素過少所致。在實際應用中,由于采集的視頻分辨率夠高,瞳孔直徑都較大,所以30這個閾值對于瞳孔尺寸具有極高兼容性。

3.2 圓變換的時間性能

文獻[6-7]直接采用OpenCV的Hough梯度法icvHoughGradient檢測瞳孔。該算法接收灰度圖像,先調用cvCanny來提取邊緣,再進行Hough圓變換,可檢測多個圓。本文的HoughContour算法將邊緣提取和圓變換分開了,并且針對只有一個瞳孔的設定視頻,將圓變換作了修改。在比較時間性能時,要將邊緣提取計入其中。Hough變換時,累加器的分辨率對時耗的影響極大。本文就640×480、320×240兩種規格的紅外瞳孔視頻以及累加器分辨率為1和2等幾種情形作了實驗。表1揭示了兩種算法處理一幀的平均時間。

從表1可以看出,如果只檢測一個圓,本文的算法運算更快。要說明的是,上述實驗中在給圓變換指定圓半徑范圍時,為更具兼容性,將半徑最小值指定為幀高度的1/20,將半徑最大值指定為幀高度的1/2。在實際的應用系統中,如果知道待檢測瞳孔半徑在圖像中的大致比例,可以將這個范圍縮小,那么以上兩種圓變換的運算時間可以更短一些。

3.3 輪廓匹配時參數的取值與準確率、時間性能

定義1 精確匹配。精確匹配是指,對于某幀根據輪廓匹配的結果,系統在該幀上畫一個圓形,在人類視覺感官看來,該圓形和瞳孔邊緣是完全重疊的。

定義2 精確匹配率。精確匹配率是指,對于若干視頻的所有圖像幀,有多少比例的圖像幀能做到精確匹配。

圓變換只能初步檢測瞳孔,實驗發現圓變換的精確匹配率大約為10%。HoughContour算法在圓變換之后補充了輪廓匹配操作。輪廓匹配是在濾波后的灰度圖像上進行,不能在濾波前的灰度圖上進行; 否則,噪聲會對匹配結果有極大影響。

從算法2的偽代碼可以看出,有d和k這兩個重要的參數影響精確匹配的準確率和時間性能。假定圓變換檢測出來的圓是c0,其圓心坐標和半徑分別是x0、y0、r0。參數d控制可移動圓c在c0附近的移動范圍和半徑變化范圍。參數k控制每次匹配時的最大點對數。理論上d和k越大,匹配越精確,時間開銷也越大。

圖12(a)和圖12(b)是對同一幀圖像用不同d值進行輪廓匹配的結果。圖(a)表示,當d取值r0/40時,對某幀的匹配檢測不精確; 這是因為對于該幀,圓變換的誤差較大,同時較小的d值又使得圓c無法移動太遠,從而無法覆蓋瞳孔。圖(b)表示,對同一幀圖像,當d取值r0/15時,輪廓匹配檢測比圖(a)更精確; 圖中細線圓形是圓變換的結果,粗線圓形是輪廓匹配的結果。

圖12(c)和圖12(d)是在參數d取值恒定的情況下,用不同k值對某一幀進行檢測的結果??梢钥闯觯?圖(c)中參數k太小,當遇到某些幀時,匹配會出現偏差; 圖(d)中k值更大,對于該幀的匹配檢測精確。

對某些幀,圓變換的偏差可能相對較大,如圖12(a)中的細線圓形。實驗發現,當d的取值為r0/10時,可移動圓c有足夠的移動范圍和半徑變化范圍,因而對所有幀都足以覆蓋瞳孔邊緣。但仍有極個別圖像幀,由于瞳孔不是圓形造成輪廓匹配檢測不精確。圖13(a)表示該幀中瞳孔向下運動,瞳孔已經不呈圓形,加之邊緣模糊以及受到上眼臉的影響,使得圖(b)的檢測不精確。

表2中有些時耗標注為小于1ms。這是因為實驗采用的GetLocalTime系統調用的輸出只能精確到毫秒級, 因此在實驗所用的輸出文件中,連續若干幀的匹配時間都是0。強行取平均值將使得數據不準確。

現象1 從表2可以看出,當k值逐漸變大時,精確匹配率急劇提高,當k取值40時已經到達極點。分析原因:當k值增大時,噪聲的影響被削弱,系統更加穩定。

現象2 對比相同k值下的時耗,對于分辨率為320×240的幀進行匹配,時耗比處理640×480的幀要低很多。分析原因:盡管k值相同,代表了點對數相同,但如果640×480的幀中瞳孔半徑要大很多,即r0更大,使得d=r0/10更大,從而使得移動范圍和半徑變化范圍更大。算法2中這三重循環會使得時耗更高。這也說明,參數d是影響匹配算法時間性能的決定因素,k只是次要因素。

4 結語

針對眼部紅外視頻,本文提出一種瞳孔精確檢測算法,即,在濾波和邊緣提取之后,先用修改過的Hough梯度圓變換初步檢測瞳孔,然后在濾波后的灰度圖的瞳孔附近區域用輪廓匹配技術進行精確檢測。由于視頻幀中只有一個瞳孔,故將icvHoughGradient算法中的將候選圓心坐標按累加值降序排序這一步驟改為尋找最大值,以減少該操作的時耗和后續計算半徑的時耗。不過為了精確檢測,輪廓匹配操作又增加了一些時耗。作了大量實驗調整圓變換中的圓心累加閾值,使其能自然排除睜閉眼過程,并對圓變換和輪廓匹配的準確率和時間性能作了分析。實驗證明,第一,該算法能對瞳孔進行精確檢測。第二,在保證精確匹配率的前提下,在時間性能上,對于320×240的視頻,在低端電腦上可以進行實時檢測;對于640×480的視頻,累加器分辨率設置為2時,在實驗所用的低端電腦上處理一幀需要大約60ms,未到實時處理要求,在高端電腦上可以進行實時檢測。

參考文獻:

[1]BEHRENDS M, NIEMANN C U, LARSON M D. Infrared pupillometry to detect the light reflex during cardiopulmonary resuscitation: a case series[J]. Resuscitation,2012,83(10):1223-1228.

[2]MORAD Y, BARKANA Y, ZADOK D, et al. Ocular parameters as an objective tool for the assessment of truck drivers fatigue[J]. Accident Analysis and Prevention, 2009,41(4):856-860.

[3]KAKLAUSKAS A, VLASENKO A, RAUDONIS V, et al. Student progress assessment with the help of an intelligent pupil analysis system[J]. Engineering Application of Artificial Intelligence, 2013,26(1):35-50.

[4]TAKAYUKI S, MASAMI K. A pupil diameter measurement system for accident prevention[C]// Proceedings of the 2006 IEEE International Conference on Systems, Man, and Cybernetics. Piscataway, NJ: IEEE, 2006, 2:1699-1703.

[5]NAIR P S, SAUNDERS A T Jr. Hough transform based ellipse detection algorithm[J]. Pattern Recognition Letters, 1996, 17(7):777-784.

[6]張杰,楊曉飛,趙瑞蓮.基于Hough變換圓檢測的人眼精確定位方法[J].計算機工程與應用,2005,41(27):43-44.(ZHANG J,YANG X F,ZHAO R L. Eyes detection based on Hough transform[J].Computer Engineering and Applications,2005,41(27):43-44.)

[7]郝明剛,董秀成,黃亞勤.一種精確的人眼瞳孔定位算法[J].計算機工程,2012,38(8):141-143.(HAO M G, DONG X C, HUANG Y Q. Precise human eye pupil localization algorithm[J].Computer Engineering, 2012,38(8):141-143.)

[8]田野,王懷軍,方志良.基于形態學重構算法的瞳孔精確檢測[J].光電子· 激光,2008,19(3):409-411. (TIAN Y, WANG H J, FANG Z L. The pupil diameter precise measurement based on morphological reconstruction algorithm[J]. Journal of Optoelectronics · Laser, 2008, 19(3): 409-411.)

[9]DAVIES E R. The effect of noise on edge orientation computation[J]. Pattern Recognition Letters, 1987,6(5): 315-322.

[10]IOANNOUA D, HUDAB W, LAINEC A F. Circle recognition through a 2D Hough transform and radius histogramming[J]. Image and Vision Computing, 1999, 17(1): 15-26.

[11]林金龍,石青云.用點Hough變換實現圓檢測的方法[J].計算機工程,2003,29(11):17-18. (LIN J L, SHI Q Y. Circle recognition through a point Hough transformation[J]. Computer Engineering, 2003, 29(11): 17-18.)

[12]SONKA M, HLAVAC V, BOYLE R.圖像處理、分析與機器視覺[M].艾海舟,蘇延超,譯.北京:清華大學出版社, 2011:90.(SONKA M, HLAVAC V, BOYLE R. Image Processing, Analysis, and Machine Vision[M].AI H Z, SU Y C, translated. Beijing: Tsinghua University Press,2011: 90.)

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合