• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于視頻圖像識別的水位數(shù)據(jù)獲取方法

      2013-07-16 05:55:28陳金水
      水利信息化 2013年1期
      關(guān)鍵詞:水尺二進(jìn)制刻度

      陳金水

      (河海大學(xué) 計算機(jī)與信息學(xué)院,江蘇 南京 210098)

      0 引言

      傳統(tǒng)的水位量測有 2 種方式,一種是安裝水尺,人工目測讀數(shù),這種方法耗時耗力,特別是在環(huán)境惡劣情況下,會對量測人員的安全構(gòu)成威脅;另一種方式是利用傳感器自動采集表征水位的模擬量,然后轉(zhuǎn)換成水位數(shù)據(jù)。水位傳感器主要有浮子機(jī)械(光電)編碼式、壓力式、雷達(dá)式、超聲波式等傳感器,這些傳感器各有優(yōu)點(diǎn),但缺點(diǎn)也非常明顯,例如浮子機(jī)械(光電)編碼式可靠、便宜,適合各種情況使用,但是,需要建造測井房,造價高;壓力式傳感器受水質(zhì)變化的影響,要經(jīng)常檢查并調(diào)整率定系數(shù);超聲波水位傳感器置于明渠之上,外界干撓多,常帶來所測水位漂移的現(xiàn)象。

      本文在試驗(yàn)研究的基礎(chǔ)上,利用 CCD 攝像機(jī)獲取水尺視頻,然后從視頻流中實(shí)時提取水尺圖像,通過邊緣檢測、灰度拉伸、二值化等一系列處理后,獲得目標(biāo)特征圖像:刻度線,再運(yùn)用 Hough變換,識別出刻度線條數(shù),從而計算出水位值。這個過程除了利用攝像機(jī)獲取視頻外,主要通過軟件實(shí)現(xiàn),因此精度高、環(huán)境要求低,具有應(yīng)用前景。

      1 含有水尺的圖像信息獲取及預(yù)處理

      從水尺圖像中獲取水位數(shù)據(jù),首先需要經(jīng)過視頻流截取、彩色圖像到灰度圖像的轉(zhuǎn)換、刻度區(qū)提取、刻度圖像二值化、去噪及刻度線細(xì)化等一系列預(yù)處理。

      1.1 視頻流的截取

      一般攝像機(jī)拍攝到的視頻流都是 AVI(Audio Video Interleaved)格式。利用微軟 MSDN(Microsoft Developer Network)提供的 AVI 處理函數(shù),可以從視頻流中截取圖像。為了避免非常態(tài)干擾,保證測量精度,1 次可以提取多幀圖像,處理后,取其平均值作為某一時刻的水位測量值。

      1.2 圖像的灰度轉(zhuǎn)換

      如果用彩色攝像機(jī)獲取視頻,應(yīng)先將彩色圖像轉(zhuǎn)換成灰度圖像以方便后續(xù)的處理。以 256 色的彩色圖像為例,灰度轉(zhuǎn)換可利用以下公式[1]:

      式中:R,G,B 對應(yīng)的是紅,綠,藍(lán) 3 種顏色的亮度值。

      灰度化的結(jié)果如圖1 所示。

      2.3 水尺圖像的提取

      對圖像的邏輯操作主要以像素為對象,對 2 幅或多幅圖像進(jìn)行“與”和“或”操作。例如,1 個任意的二進(jìn)制數(shù)與全 1 的二進(jìn)制數(shù)進(jìn)行“與”操作,結(jié)果保留原來的二進(jìn)制數(shù);如果與全 0 的二進(jìn)制數(shù)進(jìn)行“與”操作,結(jié)果為全 0。同樣,1 個任意的二進(jìn)制數(shù)與全 1 的二進(jìn)制數(shù)進(jìn)行“或”操作,結(jié)果為全 1;如果與全 0 的二進(jìn)制數(shù)進(jìn)行“或”操作,則結(jié)果保留原來的二進(jìn)制數(shù)?!芭c”和“或”操作通常作為模版,通過操作可以從 1 幅圖像中提取出子圖像。在“與”和“或”圖像模版中,二進(jìn)制碼 1 表示白色,0 表示黑色[2]。

      圖1 含有水尺的灰度圖像

      因拍攝水尺的攝像機(jī)固定不動,故水尺在每幀圖像中的位置不變。依據(jù)這個特定情況,就可以建立 1 個要提取區(qū)域的圖像模版,大小正好包含刻度區(qū)域,如圖2 a 所示。

      2.4 圖像的對比度拉伸

      灰度轉(zhuǎn)換后得到的圖像只有白或黑 2 種灰度,因此,水面與刻度的灰度是一樣的。為了提取刻度區(qū)域,去除水面區(qū)域,必須擴(kuò)大兩者的灰度級差??衫霉絹頂U(kuò)大[3]:

      式中:(x, x1) 為包含水面與刻度線灰度值的 1 個灰度區(qū)間,通過 x1和 x2值的設(shè)定,擴(kuò)大水面與刻度線的灰度級差,如圖2 b 所示。

      2.5 圖像的二值化處理

      二值化的目的是去除非目標(biāo)圖像,包括水面、背景等。對于 1 幀特定的圖像,可以通過多次閾值試驗(yàn)分析后得出 1 個合適閾值。由于攝像機(jī)捕獲的水尺圖像受光照的影響,無法給定 1 個常量閾值對圖像進(jìn)行二值化,不過,可以利用全局門限處理得到 1 個較為合適的閾值。設(shè)門限 T 是最大與最小灰度的中間值,利用這個門限去除背景部分,留下對象本身,就可以通過對圖像的分割,實(shí)現(xiàn)去留。具體做法是:灰度級 ≤ T 的像素均標(biāo)記為黑色(0),灰度級> T 的像素均標(biāo)記為白色(255)。

      門限 T 的計算步驟如下:

      1)選擇 1 個 T 的初始值;

      2)用 T 分割圖像,生成 2 組像素,由所有灰度值> T 的像素組成區(qū)域 G1,所有灰度值 ≤ T 的像素組成區(qū)域 G2;

      3)對區(qū)域 G1和 G2中的所有像素計算平均灰度值 μ1和 μ2;

      4)計算新的門限值

      5)重復(fù)步驟 2 到 4,直到逐次迭代所得的 T 值之差小于事先定義的參數(shù)。

      經(jīng)過二值化處理后就可以得到只有刻度線的圖像,如圖2 c 所示。

      圖2 水尺區(qū)域圖像的灰度拉伸和二值化

      2.6 圖像腐蝕

      水面及背景去除后,還可能留有一些與刻度線灰度值相當(dāng)?shù)母蓴_點(diǎn),因此,還要進(jìn)一步通過腐蝕去除這些干擾點(diǎn),謂之去噪。因?yàn)樗呖潭染€均為水平線,所以沿水平方向腐蝕即可。

      腐蝕的過程如下:對二值圖像中所有的黑點(diǎn)進(jìn)行遍歷,如果當(dāng)前黑點(diǎn)的左右 2 個點(diǎn)都為黑色,那么保持不變;否則把當(dāng)前黑點(diǎn)變?yōu)榘c(diǎn)。

      2 次腐蝕的結(jié)果如圖3 a 和 3 b 所示。

      2.7 圖像的“細(xì)化”

      圖像所表征的核心意義是去除了“雜質(zhì)”和次要因素后的圖像“骨架”?!肮羌堋钡墨@得過程通常稱為圖像“細(xì)化”。通過對“骨架”幾何及拓?fù)湫再|(zhì)的識別,可以獲取其表征對象的信息。

      在“細(xì)化”圖像的過程中應(yīng)滿足以下 2 個條件:1)圖像要按比例縮放;2)圖像的連通性質(zhì)應(yīng)保持不變。

      “細(xì)化”算法:設(shè) 1 幅圖像中的 1 個 3×3 區(qū)域,共 9 個像素點(diǎn),用 P1,…,P9標(biāo)記,其中 P1位于中心,P2在 P1的正上方,P3,…,P9依次沿 P2的逆時針方向排列。

      如果 P1= 1(即黑點(diǎn)),同時滿足以下 4 個條件,則刪除 P1(P1= 0):

      1)2≤ NZ(P1)≤ 6;

      2)Z0(P1)= 1;

      3) P2· P4· P8= 0 或者 Z0(P1)≠ 1

      4) P2· P4· P6= 0 或者 Z0(P4)≠ 1;

      式中:NZ(P1)表示以 P1為中心的 8 個點(diǎn)的和;Z0(P1)表示以 P1為中心的 8 個點(diǎn),從正上方的點(diǎn)開始,按逆時針方向順序進(jìn)行排列,相鄰 2 個點(diǎn)出現(xiàn) 0,1(白,黑)的總次數(shù)。

      圖3 水尺刻度腐蝕和細(xì)化的結(jié)果

      對圖像中的每個點(diǎn)重復(fù)上述步驟,直到所有的點(diǎn)都不可刪除為止。水尺刻度細(xì)化的結(jié)果如圖3 c 所示。

      3 基于 Hough變換的水位量測

      3.1 Hough變換

      Hough變換[4]的基本思想是利用點(diǎn)、線的對偶性,將笛卡兒坐標(biāo)空間的直線變換為極坐標(biāo)空間中的點(diǎn)。圖4 a 中的直線是笛卡兒坐標(biāo)系中的 1 條直線,如果用 ρ 代表直線距原點(diǎn)的法線距離,用 θ 表示法線與 x 軸的夾角,則經(jīng)過 Hough變換后可用如下參數(shù)方程表示該直線:ρ = xcos θ + ysin θ。

      該直線在極坐標(biāo)系中就是圖4 b 所示的點(diǎn)(ρ,θ)。笛卡兒坐標(biāo)系中通過公共點(diǎn)的 1 簇直線(圖4 c),映射到極坐標(biāo)系中則是 1 個點(diǎn)集,這些點(diǎn)集構(gòu)成 1 條曲線,正好是正弦曲線(圖4 d)。

      在笛卡兒坐標(biāo)系中共直線的點(diǎn)(如圖4 e 中的(x1, y1),(x2, y2),(x3, y3),3 點(diǎn)共線)映射到極坐標(biāo)系中就是共點(diǎn)的 1 簇曲線(圖4 f )。在圖4 f 中還可以看到這 3 條曲線有 2 個交點(diǎn),這 2 個交點(diǎn)所對應(yīng)的橫坐標(biāo)值即法向角的度數(shù)相差 180°,對應(yīng)到笛卡兒坐標(biāo)系中就是同一條直線。如果令直線的法向角的取值范圍為:0≤ θ < π ,其交點(diǎn)就只有 1 個。顯然,Hough變換在不同的線和點(diǎn)之間建立了對應(yīng)關(guān)系。

      圖4 Hough變換

      3.2 水位量測算法

      由分析可知,Hough變換就是將(x, y)平面中的所有直線變換成(ρ, θ)平面的 1 簇曲線。統(tǒng)計變換域(ρ, θ)中這 1 簇曲線經(jīng)過最多次的點(diǎn),該點(diǎn)對應(yīng)的就是 1 條直線。圖5 為 2 條直線 y = 3,y = 5,θ細(xì)分為 1°時的變換域(ρ,θ)的曲線圖。

      圖5 變換域(ρ, θ)的曲線圖

      圖5 中,θ = π /2 附近有 2 個點(diǎn)對應(yīng)的直線累加值最高(該值就是其在(x, y)平面中所對應(yīng)直線上的像素點(diǎn)的個數(shù))。因此,可以認(rèn)定,這 2 個點(diǎn)對應(yīng)(x, y)平面中的的 2 條直線。在實(shí)際應(yīng)用中,根據(jù)水尺中刻度線的長度,定義其像素點(diǎn)個數(shù)作為判定條件,以簡化算法。例如,定義(ρ, θ)域中的點(diǎn)對應(yīng)的直線累加值大于 50 時,認(rèn)為該點(diǎn)對應(yīng) 2 條刻度線。但是,試驗(yàn)發(fā)現(xiàn)由于曲線間的互相干擾及參數(shù)ρ,θ 值對直線檢測性能的影響,變換域(ρ, θ)中的一些點(diǎn),尤其是累加值最高處的其他點(diǎn)對應(yīng)的累加值也很高,也會被誤認(rèn)為對應(yīng) 1 條直線,這樣很容易造成同一條直線被重復(fù)計算。

      因此,必須對 Hough變換做實(shí)用性改進(jìn)。具體做法是先找到變換域(ρ, θ)中 1 個滿足條件的點(diǎn)(例如,其對應(yīng)的直線累加值大于50),然后將該點(diǎn)及其附近點(diǎn)對應(yīng)的累加值清零,以避免重復(fù)計算。

      算法思想:首先找出變換域(ρ, θ)中對應(yīng)直線累加值最大的點(diǎn),該點(diǎn)就對應(yīng)于(x, y)域中最長的1 條直線,在原圖像中將該直線刪除。對剩下的直線再進(jìn)行 Hough 變化,繼續(xù)尋找變換域(ρ, θ)中對應(yīng)直線累加值最大的點(diǎn),再將該點(diǎn)對應(yīng)于(x, y)域中的直線刪除。依此過程,直至變換域(ρ, θ)中的點(diǎn)對應(yīng)的直線累加值都小于設(shè)定值(如 50)時,就認(rèn)為已經(jīng)沒有要識別的刻度線了,這時統(tǒng)計出被刪除的直線條數(shù),即可獲取水位值。

      算法描述如下:

      1) 從原圖像的(x, y)平面中找出 1 個黑點(diǎn);

      2)對通過(1)找到的黑點(diǎn)的直線利用 Hough變換在(ρ, θ)平面繪制正弦曲線,每繪制 1 條正弦曲線,累加器加 1;

      3)在(ρ, θ)平面中尋找累加器最大值(如50)對應(yīng)的點(diǎn),如果找到,則該點(diǎn)就對應(yīng)(x, y)平面的 1 條直線(刻度線),假設(shè)用 n 表示刻度線的條數(shù),這時 n + 1,否則執(zhí)行(5);

      4) 將找出的直線從原圖像中刪除,然后回到(1);

      5)計算 n 的值,將該值乘以刻度單位即得出水面以上水尺的長度,水尺總長度(已知)與水面以上水尺長度的差即要量測的水位數(shù)據(jù)。

      4 結(jié)語

      本文研究的從水尺圖像中獲取水位數(shù)據(jù)的方法,也可以用來獲取閘位數(shù)據(jù),并且精度高(只受攝像機(jī)分辨率的影響),費(fèi)用低,不需要太多的輔助設(shè)施。當(dāng)然,這種水位獲取方式在實(shí)用化過程中還有一些問題需要妥善處理。例如,現(xiàn)場可能會因雨、霧、陰天、夜晚等情況,導(dǎo)致光照不足,獲取的水尺圖像清晰度低,難以識別,這時,必須在現(xiàn)場安裝照明設(shè)施以提高圖像的清晰度。本文對刻度線的識別算法只適合水尺表面有輕度污染的情況,對嚴(yán)重污染還需要研究專門的識別方法或輔以人工清理。另外,針對實(shí)際應(yīng)用中對水位數(shù)據(jù)采集實(shí)時性的不同要求,還存在個現(xiàn)場數(shù)字轉(zhuǎn)換還是遠(yuǎn)程數(shù)字轉(zhuǎn)換的問題?,F(xiàn)場數(shù)字轉(zhuǎn)換因現(xiàn)場不可能配置高性能的計算機(jī),所以需要研究更高效的算法;遠(yuǎn)程數(shù)字轉(zhuǎn)換對算法效率要求較低,但要遠(yuǎn)程傳輸視頻或圖像,因此需要配置高速、寬帶的通信鏈路。

      [1]何斌,馬文予,王運(yùn)堅(jiān),等. Visual C++ 數(shù)字圖像處理[M]. 北京:人民郵電出版社,2004: 4-7.

      [2]岡薩雷斯. 數(shù)字圖像處理[M]. 2 版. 北京:電子工業(yè)出版社,2005: 18-20.

      [3]馬濤,余春暄. 數(shù)字圖像處理在指針式指示表讀數(shù)識別中的應(yīng)用[J]. 微計算機(jī)信息,2004, 20 (7): 50-51.

      [4]胡方明,彭國華. Hough變換空間中基于直線的模板匹配[J]. 計算機(jī)工程,2011, 37 (10): 140-142.

      猜你喜歡
      水尺二進(jìn)制刻度
      淺析國內(nèi)海洋漁船與海船載重線、水尺標(biāo)志勘劃的區(qū)別
      用二進(jìn)制解一道高中數(shù)學(xué)聯(lián)賽數(shù)論題
      海運(yùn)電廠船舶靠岸側(cè)水尺圖像采集實(shí)驗(yàn)研究*
      有趣的進(jìn)度
      水尺標(biāo)志放樣及數(shù)控切割解決問題方案
      廣船科技(2019年2期)2019-10-16 10:43:02
      二進(jìn)制在競賽題中的應(yīng)用
      歐姆表的刻度真的不均勻嗎?
      ——一個解釋歐姆表刻度不均勻的好方法
      被吃掉刻度的尺子
      誰大誰小
      測量三字歌
      罗山县| 镇远县| 滕州市| 招远市| 友谊县| 宝清县| 贡觉县| 崇明县| 蒙阴县| 潞西市| 沙河市| 中宁县| 南丰县| 常山县| 达拉特旗| 清涧县| 玉环县| 那坡县| 凤冈县| 揭西县| 顺平县| 凉山| 时尚| 逊克县| 广水市| 兰西县| 汕尾市| 广宗县| 高尔夫| 页游| 建湖县| 崇仁县| 宁晋县| 闽侯县| 湘乡市| 温州市| 沙湾县| 上杭县| 荣昌县| 寿宁县| 咸丰县|