• 
    

    
    

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

      ?

      基于OpenCV技術(shù)車輛輪廓檢測方法的研究

      2023-08-28 09:49:52邢瑋琦
      山西電子技術(shù) 2023年4期
      關(guān)鍵詞:輪廓灰度預(yù)處理

      邢瑋琦

      (山西省信息產(chǎn)業(yè)技術(shù)研究院有限公司,山西 太原030012)

      1 緒論

      近年來,汽車輪廓檢測發(fā)展迅速,目前技術(shù)對整車尺寸進(jìn)行自動測量的手段相對單一,普遍采用的是二維激光輪廓掃描測量方法、CCD影像測量法對車輛的輪廓進(jìn)行檢測,這種技術(shù)的測量精度較高,但受天氣影響較大,在雨霧等不良天氣條件下測量精度不高。

      采用人工智能方法對汽車進(jìn)行輪廓檢測被廣泛使用。本文將提供基于開放計算機視覺庫OpenCV的輪廓檢查方案。首先使用CCD獲取環(huán)境的圖像數(shù)據(jù);其次,對圖像數(shù)據(jù)信息預(yù)處理、二值化閾值分割,得到黑白環(huán)境圖像;最后,通過OpenCV函數(shù)監(jiān)測車輛外輪廓線,進(jìn)一步為實現(xiàn)汽車外廓尺寸測量提供基礎(chǔ)支持。雖然這種檢測技術(shù)準(zhǔn)確度不如激光測距技術(shù)但受氣候環(huán)境影響較小,因此可以較快的得到汽車的外部等值線。

      2 基于OpenCV的車輛輪廓檢測

      2.1 OpenCV簡介

      OpenCV是英特爾公司提供的為實現(xiàn)圖像處理和計算機視覺圖像處理方面的通用算法,是一個免費視覺數(shù)據(jù)庫。可以被用于人工智能、跟蹤識別圖像、人機交互等信息處理領(lǐng)域。

      隨著計算機技術(shù)的飛速發(fā)展,OpenCV中的C、C++接口被大量運用在多核開發(fā)中,迭代后的軟件算法大大提高了可用性。因此,目前國內(nèi)外圖像處理領(lǐng)域普遍采用OpenCV處理圖像,成為當(dāng)代流行的處理圖片的軟件之一[1]。

      2.2 車輛圖像的預(yù)處理

      將采集到的車輛輪廓圖片進(jìn)行預(yù)處理,包括圖片降噪、平滑處理、二值化閾值分割等。預(yù)處理后的圖片數(shù)據(jù)才能被算法處理成目標(biāo)值。汽車輪廓圖像數(shù)據(jù)預(yù)處理流程如圖1所示。

      圖1 車輛輪廓圖像的預(yù)處理流程

      形態(tài)學(xué)去噪是數(shù)學(xué)形態(tài)學(xué)圖像加工的基礎(chǔ)理論。包含:腐蝕和擴(kuò)展、開運算和閉計算。根據(jù)上述基本運算,就能夠推導(dǎo)和構(gòu)造多種數(shù)學(xué)形態(tài)學(xué)實用算子,通過它們可以進(jìn)行圖像形態(tài)和特征的分析和控制。經(jīng)過形態(tài)學(xué)去噪技術(shù)可以將圖片處理為黑白圖或灰度圖,灰度圖是黑白二值圖的一種特殊表現(xiàn)形成,本文為了提高計算精度采用黑白二值圖像。

      圖像的平滑處理主要采用中值濾波法。由于自然因素,從戶外攝像機采集到的汽車俯視畫面很大可能會產(chǎn)生很多噪音,降低畫面品質(zhì),平滑處理的目的是增強汽車輪廓圖的清晰度。通過中值濾波及平滑處理過程能夠保存更多的有關(guān)圖片的灰度數(shù)據(jù),進(jìn)而大大提高了圖片輪廓檢查的品質(zhì)。

      像素分割處理使用了二值化閾值劃分法,主要目的是將像素空間劃分為幾個有價值的區(qū)塊。車輛輪廓檢測則是利用像素切割,獲取黑白的二值圖像。利用這個方式,可把圖片中所要分辨的物象與其他識別物進(jìn)行區(qū)分,看作是以閾值作為劃分點的2個不同形象。超過或者低于閾值點的用1替代,或者用0替代。再經(jīng)過二值化分割,獲得黑白圖形,為輪廓提取打下基礎(chǔ)。

      2.3 輪廓提取及檢測實現(xiàn)

      二值化圖像輪廓提取算法的原理是:

      條件1:如原圖中有一點為黑;

      條件2:此點相鄰的8個點都為黑色。

      同時滿足條件1和條件2的點就是內(nèi)點,依次刪除內(nèi)容直至所有內(nèi)點消失,剩余點組成的圖像就是想要得到的輪廓線。將所有采集到的多角度拍攝的汽車圖片用OpenCV技術(shù)依次處理,最終得到的就是相對完整清晰的汽車外輪廓線。

      2.3.1 圖像的讀取

      從文件中讀取圖像的語句為:

      Ipllmage*IO=0;IO=cvloadImage(filename,flag);

      結(jié)構(gòu)Iplimage定義了IPL圖片的頭部,當(dāng)中flag是代表載入圖片的通路數(shù)標(biāo)記:當(dāng)flag>0時,代表載入圖片強制性為三通路彩色圖片;當(dāng)flag=0時,則代表載入圖片強制為單通路灰色圖片;flag值<0時,說明載入圖片由數(shù)據(jù)庫中的圖片信道數(shù)決定。在本文中需要下載的數(shù)據(jù)必須是灰度圖片,所以要設(shè)定flag=0。輸入后的汽車灰度圖片如圖2所展示。

      圖2 車輛灰度圖像

      2.3.2 圖像的形態(tài)學(xué)去噪和平滑處理

      膨脹與腐蝕的參數(shù)依次是:cvdilate(IOPOconstruction iterations);cverodeIOPOconstruction iterations)。 其中IO為輸入圖片;PO為輸出圖片;construction為結(jié)構(gòu)內(nèi)容;iterations為計算次數(shù)。結(jié)合數(shù)學(xué)形態(tài)學(xué)中膨脹與腐蝕這2個基本算法實現(xiàn)開運算和閉運算。開運算就是先腐蝕再膨脹,閉運算就是先膨脹再腐蝕。

      OpenCV中使用了以下變量進(jìn)行此運算:在cvmorphologyex(IOPO temp construction operation iterations)中operation代表形態(tài)學(xué)運算的形式;cv_mop_open代表開放運算;而cv_mop_close代表關(guān)閉運算。

      平滑處理函數(shù)為:cvsmooth(IOPO smoothtype param1,param2,param3,param4),同時由于smoothtype標(biāo)簽中所使用的光滑方法,在本文中也使用了中值濾波,所以設(shè)定為cv_median,并對圖片執(zhí)行了尺寸為param1*param1的中值濾波,因此設(shè)置param1=3,其余的控制參數(shù)均為0。在本文中,對圖片采用了開放、閉運算以及中值濾波等多次循環(huán)算法,以獲得光滑輪廓、減少噪音和輪廓缺陷。經(jīng)過處理后的車輛圖片將如圖3所顯示。

      圖3 經(jīng)處理后的車輛圖像

      2.3.3 圖像二值化分割

      二值化分割函數(shù)為:cvthreshold(IOPO threshold,max_value threshold_type),將threshold_type設(shè)置為cv_thresh_bina-ry,并進(jìn)行了二值化濾波后,波谷為threshold,峰值表示為max_value。當(dāng)IO(xy)>threshold時,PO(xy)=max_value,否則PO(xy)=0?;谂臄z場景實況,我們進(jìn)行了多次計算,取threshold=100,max_value=255能達(dá)到較為理想的結(jié)果。相比車輛本身,拍攝場景閾值要更為復(fù)雜,因此閾值劃分后再進(jìn)行的反經(jīng)過閾值劃分后的二值化結(jié)果在圖4中顯示。

      圖4 閾值分割后的二值化圖像

      2.3.4 輪廓檢測及提取

      汽車輪廓圖像函數(shù)可以表示為:cvfindcontours(IO storage &contour header_size mode method, offset),其中IO為輸入的8-Bite、單通道圖像,僅用0或1表示,0像素為0 ,其余均用1表示,因此圖像被數(shù)字化為二值表示方便計算;storage是汽車輪廓二值數(shù)據(jù)的存儲庫;contour為包含第一個輸出輪廓的指針的輸出參數(shù),;header_size是序列頭的大小,本文取為sizeof(cvcontour);mode為輪廓搜索的模型,本文中我們只取最外層輪廓圖像函數(shù)參與及下一步計算,因此設(shè)為cv_retr_external;method是一種近似算法,用cv_chain_approx_simple對圖像進(jìn)行垂直、水平、對角線、直角等劃分,在汽車輪廓圖像函數(shù)中只保留最末位像素;offset表示位移,不可以設(shè)定為默認(rèn)值cvpoint(0,0),無位移是不存在的。

      輪廓析出后,在contour序列或OpenCV中繪畫輪廓的方法如下:cvdrawcontours(PO contour extemal_color hole_color max_level thickness line_type offset),其中PO為內(nèi)輪廓圖像;extemal_color為外輪廓圖像;hole_color為內(nèi)輪廓色彩值;max_level為繪畫輪廓邊緣的最高層次,在本文中以0描繪簡單的輪廓邊緣;thickness為在繪畫輪廓邊緣中所采用的色彩線的粗度為2;Line_type中為線條的位置為7。經(jīng)[2,4,7]檢測后的車輛另外等值曲線則在圖5中顯示。

      圖5 車輛外輪廓線圖像

      3 試驗驗證

      因為汽車功能性以及人們審美觀的不同,車身結(jié)構(gòu)復(fù)雜且多種多樣,在加上環(huán)境(比如光線、背景圖與汽車圖片相似)等外在因素,導(dǎo)致收集到的汽車圖片有大量噪聲,比如不規(guī)則、殘缺、灰度高等,如圖2所示。通過對圖片進(jìn)行預(yù)處理后,背景環(huán)境和車身內(nèi)部的噪音都得以減少,同時圖片整體清晰度和整個車身的輪廓線也獲得了更為理想的平滑狀態(tài),如圖3所示。車輛圖像在用OpenCV車輛輪廓檢測技術(shù)進(jìn)行二值化處理之后,已經(jīng)基本上區(qū)別了背景和實物,如圖4所示。但因為現(xiàn)場環(huán)境等原因,灰度值產(chǎn)生了相當(dāng)大的差別,從而導(dǎo)致在二值化后的圖片中,車身的部分并不能完全與現(xiàn)實背景中區(qū)分開來,車身輪廓不是很連貫。如圖5所示,汽車的車身輪廓線獲得了更為理想的表現(xiàn)。但還是不夠平滑及連貫。

      4 結(jié)論

      根據(jù)試驗結(jié)論不難發(fā)現(xiàn),即便在汽車外部環(huán)境較差的前提下,應(yīng)用OpenCV技術(shù)的汽車外部輪廓測量系統(tǒng)仍然能夠相對完全的將汽車輪廓從背景中剝離,獲得較為全面的汽車等值線,為進(jìn)一步優(yōu)化測量汽車外部輪廓尺寸奠定了有力的依據(jù)。

      這種技術(shù)原理易懂,計算簡單。且OpenCV視覺庫的高效率性能幫助用戶快速處理圖像數(shù)據(jù),經(jīng)過多次實驗結(jié)果證明,本文提出的算法技術(shù)可行且高效,有實用價值。

      英特爾公司的OpenCV視覺庫,為C++及其他編程語言的可視化研究創(chuàng)造了一條全新的途徑,OpenCV和其它開發(fā)方式一樣具備周期短、成本小、快捷的優(yōu)勢,隨著OpenCV在影象處理領(lǐng)域的廣泛應(yīng)用,也必然在各方面獲得了更為廣闊的應(yīng)用。

      猜你喜歡
      輪廓灰度預(yù)處理
      輪廓錯覺
      采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過濾技術(shù)
      基于灰度拉伸的圖像水位識別方法研究
      基于實時輪廓誤差估算的數(shù)控系統(tǒng)輪廓控制
      基于預(yù)處理MUSIC算法的分布式陣列DOA估計
      基于最大加權(quán)投影求解的彩色圖像灰度化對比度保留算法
      基于灰度線性建模的亞像素圖像抖動量計算
      淺談PLC在預(yù)處理生產(chǎn)線自動化改造中的應(yīng)用
      絡(luò)合萃取法預(yù)處理H酸廢水
      在線學(xué)習(xí)機制下的Snake輪廓跟蹤
      計算機工程(2015年4期)2015-07-05 08:27:39
      邓州市| 大丰市| 永泰县| 阳信县| 洛阳市| 郎溪县| 曲沃县| 江油市| 济宁市| 广宗县| 永泰县| 疏勒县| 资兴市| 日喀则市| 滨州市| 炉霍县| 鲁甸县| 壤塘县| 江源县| 龙山县| 额敏县| 扬州市| 红原县| 灵山县| 山阳县| 介休市| 崇仁县| 郁南县| 会理县| 淮北市| 安化县| 军事| 建阳市| 阳江市| 共和县| 高清| 和平区| 庄浪县| 吉木萨尔县| 苗栗县| 波密县|