《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 線性CCD圖像處理與識別算法研究
線性CCD圖像處理與識別算法研究
2015年微型機與應用第8期
廖偉權,劉海剛,項華珍,梁焯斌,范智暉
(五邑大學 信息工程學院,廣東 江門 529020)(五邑大學 信息工程學院,廣東 江門 529020)
摘要: 介紹了基于線性CCD傳感器的智能小車整體框架、圖像采集和處理以及路徑識別控制算法。智能小車控制系統中選擇線性CCD傳感器進行路徑識別,對采集的像素點進行中值濾波、二值化等處理,提取賽道兩邊的黑色邊緣,取其中心位置作為小車的引導方向,控制舵機的轉向,使得小車能夠穩定、可靠地高速行駛。
Abstract:
Key words :

  摘  要: 介紹了基于線性CCD傳感器的智能小車整體框架、圖像采集和處理以及路徑識別控制算法。智能小車控制系統中選擇線性CCD傳感器進行路徑識別,對采集的像素點進行中值濾波、二值化等處理,提取賽道兩邊的黑色邊緣,取其中心位置作為小車的引導方向,控制舵機的轉向,使得小車能夠穩定、可靠地高速行駛。
  關鍵詞: 線性CCD;數據采集;中值濾波;動態閾值人字形彎道識別
0 引言
  在全國大學生“飛思卡爾”杯智能汽車競賽光電組的技術要點中,線性CCD圖像處理和路徑識別這兩個環節尤其重要,其決定著小車能否安全可靠快速運行[1]。根據比賽規則和以往的比賽經驗,小車能否以最短的時間完成比賽,確保不沖出賽道,都與小車的速度和路徑識別有著密切的關系。因此,路徑的識別和處理是整個比賽的關鍵,它能夠有效地控制智能小車在不同的路段該如何選擇合理、高效的速度完整地去完成比賽,從而可以提高整場比賽中的平均速度。
  基于線性CCD傳感器的智能小車控制系統結構如圖1所示。該系統中執行機構是舵機和電機,感應機構是線性CCD傳感器。路徑識別是實現智能小車沿賽道自主運行的信息基礎,獲得范圍廣而精確的路徑信息是提高智能小車運行速度的關鍵[2]。
1 圖像采集
  一般的圖像CCD傳感器有模擬的和數字的,線性CCD傳感器(TSL1401CL)輸出的信號是模擬的。圖像CCD傳感器要處理的數據量比較大,使用硬件二值化比較好[3]。但對于線性CCD傳感器來說,數據量的處理沒有圖像CCD傳感器大,硬件二值化的優勢并不明顯,所以直接采集模擬信號。采用固定曝光時間,整個函數運行一遍的周期是10 ms,響應時間充足,圖像穩定。

Image 001.png

  在實際應用中采用拉普蘭德的開源程序代碼,再根據單片機的特性進行修改,縮短采集時間,提高響應速度,使采集的圖像穩定下來是最重要的。
2 圖像處理
  線性CCD有中值濾波法、二值化處理法、邊緣增強法等圖像處理方法。由于邊緣增強法的目的在于突出賽道的邊緣信息,增強路徑的識別,經邊緣增強后的圖像能更清晰地顯示出路徑的邊界[4]。但是經過實踐,對于飛思卡爾智能車競賽黑白明顯的賽道而言,邊緣增強法的效果并不十分明顯,所以舍棄了該方法。
  2.1 中值濾波法
  采集回來的數據可能上下波動,不夠穩定,這時就需要調用中值濾波函數。中值濾波是一種非線性數字濾波器技術,用于去除圖像中的噪聲。其設計思想就是檢查采集像素點的值,并判斷它是否代表了信號。從第一個像素點開始,將其數值和相鄰的兩個像素點的數值進行排序,3個像素點中數值為中值的像素點作為代表信號并輸出。然后,丟棄最早的值,取得新的采樣,重復上面的計算過程到127個點為止[5]。
  中值濾波程序如下:
  short get_mid(short a,short b,short c)
  //get_mid取中間值b
  {
  short x=0;
  if(a>b){x=b;b=a;a=x;}
  if(b>c){x=c;c=b;b=x;}
  if(a>b){x=b;b=a;a=x;}
  return b;//經過以上比較賦值,將中間值賦給b,
  返回給中間像素點gPixel[i]
  }
  for(i=1;i<128;i++)//對128個點進行平滑處理輸出
  {
  gPixel[i]=get_mid(gPixel[i-1],gPixel[i],gPixel[i+1]);
  //gPixel[i]代表采集回來的像數點數值
  }
  2.2 二值化處理
  圖像的二值化處理就是將圖像上點的灰度值置為0或255(在程序設計中置為0和1)的灰度值[6]。二值化的目的就是將所有灰度大于或等于閾值的像素判定為白色,否則像素點為黑色,這樣明確地分出黑白兩種顏色,小車就能準確地轉彎。閾值的選取有很多種方法,常用的有動態閾值和試驗確定法[7]。對圖像進行二值化分割,選取恰當的閾值成了準確劃分的關鍵。事實驗證,靜態閾值已經不能滿足整幅賽道,所以采用動態閾值算法[8]。由于四輪智能小車存在轉彎不靈活的特點,在賽道上跑時很容易丟線,所用的動態閾值要在丟線時調用上一個閾值(T_old)(T_old是上一次計算正確的閾值保留下來賦予的值T_last)。
  軟件二值化的動態閾值算法如下:
  (1)找出一組數據128個像素點的最大值(max)和最小值min。
  (2)判斷最大值(max)和最小值(min)的偏差是否大于全黑時的偏差(all_black_Difference_value),若大于全黑時的偏差,就繼續下面步驟,否則不計算下一步驟,用上一次的閾值。全黑時的偏差指的是全黑(丟線)情況下的最大值與最小值的偏差(是給定的一個值),由經驗得知丟線情況下的閾值是不正確的,要用上一次的閾值T_old。
  (3)為全局閾值T選擇一個初始估計值:30VYA3A0JV09[KF6`KILR0Z.jpg
  (4)二值化處理圖像,并產生兩組數組:sum_h為灰度值大于T的所有像素組成,sum_l由所有小于等于T的像素組成。
  (5)對sum_h和sum_l的像素分別計算平均弧度值(均值)max_ave和min_ave。
  (6)產生最終的閾值T_last,再給T_old賦值:T_old=T_last(T_old丟線時調用)。
  A1(PYA`4R8TAVDOM{0Y][AG.png

3 賽道識別
  3.1 一般賽道的識別
  普通賽道類型包括:直道、十字路口、小S彎以及不同曲率的彎道。因此,對不同的彎道識別及數據處理是成功與否的關鍵。采用了一次元函數動態Kp的算法來處理不同曲率的彎道。主要公式為:
  Error=Left_black-(128-Right_black)(2)
  Kp=0.05×|Error|(3)
  其中,Error為實際中心位置與測量中心值的偏差。通過經驗得知,Error等于左邊黑點減128與右邊黑點的差值。當Error為負數時舵機向左轉彎,為正數時舵機向右轉彎,從而控制速度的變化。Error偏差在得出第一個黑點前還需要判斷其是否為噪點。當全黑時設定了一個最低速度,偏差為0時也限制了它的最高速度,防止智能小車由于速度過高,造成擺尾或沖出賽道等問題。
  在直道,偏差(Error)會變得很小,絕對值小于10,控制舵機直行,不轉彎。
  十字路口都是與270°的彎道連接在一起的。由于十字路口沒有兩端的黑色引導線,通過CCD采集的數據分析,計算進入前的3次偏差位置,求出它的斜率,再通過斜率計算出智能小車在十字路口上舵機轉彎大小,從而保證小車順利通過十字路口。
  緊跟著就進入270°的彎道。為了防止舵機誤判,當上一個偏差與本次的偏差超過某一個值時,保持上一次的偏差,這樣就能順利平滑通過彎道了[9]。
  從CCD采集回來小S彎道的數據來看,由于小S彎道的位置偏差較小,而且采用一次元函數動態Kp的方法來控制舵機轉彎,Kp的值可以通過這些小偏差的改變而改變,即Kp=0.05×偏差。因此,可以保證智能車以較高的速度完美通過小S彎道。
  3.2 特殊賽道的識別
  為了增加行駛難度,增加了人字彎道識別,如圖2所示。本設計選擇了讓智能小車直接大拐角掉頭。當檢測到斑馬線時,給舵機一個大轉角,讓小車直接駛過。然而當小車高速行駛時,處理不好速度與CCD檢測前瞻(CCD掃描的地方與車身間的距離)的關系,小車很容易沖出賽道。本設計在智能小車上安裝了兩個CCD,一個前瞻在50 cm,一個前瞻在40 cm。
  圖2中,兩條平行線分別為兩個CCD拍攝圖像的位置。其中,車子前瞻較近的CCD掃描的圖像是在直道運行,得到的數據是左右黑線都存在;前瞻較遠的CCD掃描的賽道圖像,得到的數據是左邊的黑線相差不大,但右邊黑線與較近CCD相比卻突然丟失,據此判斷此時應該右轉。

Image 002.png

  人字形判斷程序段如下:
  Error=Left_black-(128-Right_black)
  |Error|<10//判斷較近的CCD是否檢測到黑線,
  并計算出是否在直到上,在中線時偏差(Error)小于15,在實際情況中這個值小于10就認為是直道
  |Left_black_near-Left_black_far|<8//判斷近的CCD左邊
  黑線和較遠CCD左邊黑線是不是偏差小于8(在直道上兩個CCD的左黑線像素點相差小于8)
  |Right_black_near-Right_black_far|>30//判斷近的CCD
  右邊黑線和較遠CCD右邊黑線是不是偏差大于一定范圍(較遠CCD丟線,較近的還在直道上,所以兩個CCD的右黑線像素點相差大于30)
  當同時滿足以上3個條件時,判別出人字彎道后,就向右轉彎,使小車控制舵機進行較大角度的轉彎,等到小車回到直道后,再給與舵機中值,從而使小車快速、穩定通過人字彎。左拐彎與之相反。
  結合兩個CCD信息去識別可以準確判別出人字彎道。經過實踐驗證,采用此方法誤判的概率非常小,只有在智能小車軌跡異常偏離賽道中心時才會出現誤判。
4 結論
  通過對線性CCD圖像處理與識別算法進行研究,將理論知識與實際情況相結合,對采集的圖像進行中值濾波、二值化動態閾值處理,再根據小車的實際情況進行改善,設計了一次元函數動態Kp的算法,對直道、十字路口、小S彎以及不同曲率的彎道進行辨識,并對人字形賽道特殊判斷識別,從而使小車能夠沿規定賽道穩定、可靠、快速地運行。
  參考文獻
  [1] 劉嘉豪,劉海剛,張建偉,等.智能車圖像處理與識別算法研究[J].工業控制計算機,2014,27(8):19-22.
  [2] 卓晴,黃開勝,邵貝貝,等.學做智能車:挑戰“飛思卡爾”杯[M].北京:北京航空航天大學出版社,2007.
  [3] 劉祖臣.基于CMOS數字攝像頭的硬件二值化方案[J].電子科技,2014,27(7):99-102.
  [4] 周磊,任國全,肖浩,等.結構化道路車道線快速檢測的一種改進算法[J].計算機仿真,2012,29(4):362-366.
  [5] 張毛女,柳薇.一種基于邊緣檢測的改進的中值濾波去噪方法[J].計算機與現代化,2011,29(3):63-65,73.
  [6] 李俊,王軍輝,譚秋林,等.基于MC9S12XS128控制器的智能車圖像處理技術研究[J].化工自動化及儀表,2012,39(2):190-193.
  [7] 季聰,王思明,漢鵬武.智能車路徑識別與控制研究[J].電視技術,2013,37(9):192-195,209.
  [8] 常江.基于視覺導航的智能車測控系統關鍵技術研究[D].天津:河北工業大學,2010.
  [9] 邱迎.道路自動識別與控制的智能車系統的研究[D].重慶:重慶大學,2010.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久超碰97中文字幕| 欧美亚洲成人免费| 亚洲永久网站| 99国产精品久久久久久久| 久久国产视频网站| 午夜精品999| 亚洲自拍三区| 亚洲一级免费视频| 亚洲手机成人高清视频| 一区二区三区www| 夜夜嗨一区二区| 亚洲国产精品美女| 亚洲国产欧美日韩| 亚洲国产一区二区精品专区| 亚洲电影免费观看高清完整版| 尤妮丝一区二区裸体视频| 在线电影院国产精品| 尤物yw午夜国产精品视频明星| 在线观看国产精品淫| 激情国产一区| 在线观看91精品国产麻豆| 在线日韩欧美| 亚洲久久在线| 中文有码久久| 性欧美xxxx视频在线观看| 久久国产精品99国产| 亚洲国产精品一区在线观看不卡| 最新亚洲激情| 夜夜夜久久久| 亚洲欧美福利一区二区| 欧美在线一区二区三区| 久久久久久精| 美女国产一区| 欧美日韩国产二区| 国产精品www网站| 国产精品视频免费观看www| 国产日韩一区二区| 在线成人激情视频| 亚洲精品字幕| 亚洲欧美日韩在线观看a三区| 久久国内精品视频| 99国产精品国产精品久久| 亚洲宅男天堂在线观看无病毒| 欧美一区二区三区免费在线看| 久久久成人精品| 欧美超级免费视 在线| 欧美日韩精品一区二区天天拍小说 | 精品va天堂亚洲国产| 亚洲激情视频| 亚洲综合日韩在线| 亚洲欧洲精品天堂一级| 亚洲午夜久久久| 久久不射中文字幕| 欧美精品一区二区三区蜜桃| 国产精品麻豆欧美日韩ww| 国产综合婷婷| 亚洲精品欧美精品| 午夜宅男欧美| 99精品欧美一区二区三区| 亚洲欧美日韩国产成人| 美脚丝袜一区二区三区在线观看 | 狠狠做深爱婷婷久久综合一区 | 国产亚洲人成a一在线v站| 亚洲黄网站在线观看| 亚洲性av在线| 亚洲日韩视频| 久久aⅴ国产欧美74aaa| 欧美国内亚洲| 国产日韩精品一区二区浪潮av| 亚洲国产精品久久久久| 亚洲欧美中文字幕| 夜夜夜精品看看| 久久久久久伊人| 欧美视频在线一区二区三区| 韩国亚洲精品| 亚洲一区二三| 中日韩视频在线观看| 久久久水蜜桃av免费网站| 欧美视频一区二区三区…| 精品69视频一区二区三区| 亚洲综合国产| 亚洲私人影院| 欧美精品成人一区二区在线观看| 国产无遮挡一区二区三区毛片日本| 日韩午夜在线播放| 最近中文字幕日韩精品| 久久精品1区| 国产精品视频第一区| 亚洲精品欧美精品| 亚洲国产高清在线观看视频| 欧美影院在线| 国产精品日韩精品| 日韩视频不卡中文| 亚洲乱码日产精品bd| 久久亚洲影院| 国产日韩欧美电影在线观看| 国产精品99久久99久久久二8| 亚洲日韩欧美视频一区| 两个人的视频www国产精品| 国产嫩草影院久久久久| 一本色道久久综合亚洲91| 日韩一区二区免费高清| 免费国产一区二区| 一区精品在线| 久久国产精品久久w女人spa| 欧美在线黄色| 国产美女精品视频免费观看| 亚洲深爱激情| 中文有码久久| 欧美片第1页综合| 亚洲精品一二| 99国产精品久久| 欧美激情aaaa| 最新国产乱人伦偷精品免费网站| 亚洲高清一区二区三区| 久久激情视频免费观看| 国产欧美日韩精品丝袜高跟鞋| 亚洲一区二区三| 午夜影院日韩| 国产精品久线观看视频| 亚洲午夜精品视频| 午夜精品久久久久久久99水蜜桃| 国产精品99免费看| 一区二区欧美日韩| 亚洲免费在线电影| 国产精品一页| 午夜一区二区三区在线观看| 久久精品卡一| 激情久久影院| 91久久夜色精品国产九色| 欧美国产第一页| 亚洲美女啪啪| 亚洲欧美国产精品桃花| 国产精品私房写真福利视频| 亚洲永久免费精品| 久久久精品tv| 亚洲国产精品福利| 一区二区三区久久精品| 国产精品www网站| 亚洲欧美中文另类| 久久资源在线| 亚洲片区在线| 亚洲欧美日韩国产精品| 国产日本欧洲亚洲| 亚洲福利电影| 欧美极品aⅴ影院| 一本综合久久| 久久精品视频免费播放| 好吊妞这里只有精品| 亚洲欧洲在线看| 欧美日韩综合一区| 亚洲欧美日韩精品综合在线观看| 久久久久久亚洲精品不卡4k岛国| 在线精品观看| 亚洲深夜av| 国产一区二区在线观看免费播放 | 国产欧美日韩不卡| 亚洲国产精品999| 欧美理论视频| 亚洲欧美日本在线| 欧美阿v一级看视频| 宅男66日本亚洲欧美视频| 久久精品视频在线| 亚洲七七久久综合桃花剧情介绍| 亚洲欧美日韩国产精品| 精品成人在线视频| 亚洲午夜精品久久| 国产自产2019最新不卡| 一区二区三区国产| 国产一区二区三区在线观看视频 | 久久免费的精品国产v∧| 亚洲啪啪91| 久久大香伊蕉在人线观看热2| 精品1区2区3区4区| 亚洲永久视频| 在线观看亚洲a| 亚洲欧美日韩国产精品| 一区免费在线| 亚洲——在线| 在线看片第一页欧美| 香蕉国产精品偷在线观看不卡| 极品少妇一区二区| 午夜精品一区二区三区在线视| 亚洲成色www久久网站| 欧美一级欧美一级在线播放| 亚洲欧洲精品一区| 久久激情视频| 在线亚洲+欧美+日本专区| 久久综合狠狠综合久久综合88| 亚洲视频一起| 欧美精品电影在线| 欧美一区二区三区另类| 欧美日韩视频在线一区二区| 欧美专区福利在线| 国产精品毛片a∨一区二区三区|国 | 国产美女精品视频免费观看| 一区二区欧美日韩| 亚洲大胆视频| 久久人人爽人人| 亚洲一区二区三区在线看|