99久久久久,熟女乱伦AV一区二区三区,91探花中文字幕 ,亚洲欧在线视频

  • 
    
  • <ul id="wqk02"></ul>
    <blockquote id="wqk02"><tfoot id="wqk02"></tfoot></blockquote>
    
    
    • <del id="wqk02"><tfoot id="wqk02"></tfoot></del>

      深圳市凱茉銳電子科技有限公司深圳市凱茉銳電子科技有限公司

      新聞中心

      News

      快速車道標記檢測算法【附數(shù)據(jù)集與注釋代碼】

      來源:深圳市凱茉銳電子科技有限公司2025-06-23

      在自動駕駛和智能交通系統(tǒng)中,車道標記識別是關鍵的計算機視覺任務之一。本文將介紹一個基于Halcon的車道標記檢測算法,該算法通過圖像處理技術快速識別車道標記。

      1. 系統(tǒng)初始化和窗口設置

      在算法的開始,我們首先需要進行一些系統(tǒng)的初始化操作并設置顯示窗口。這些步驟為后續(xù)的圖像處理和結(jié)果展示奠定了基礎。

      dev_update_window ('off')  
      * 關閉窗口更新
      dev_close_window ()  
      * 關閉窗口
      dev_open_window (0, 0, 768, 575, 'black', WindowID)  
      * 打開一個新的黑色背景窗口,大小為768x575
      MinSize := 30  
      * 最小區(qū)域大小設定為30
      get_system ('init_new_image', Information)  
      * 獲取系統(tǒng)參數(shù),初始化新圖像信息
      set_system ('init_new_image', 'false')  
      * 設置系統(tǒng)參數(shù),禁止初始化新圖像

      在上述代碼中,我們通過dev_open_window打開了一個新的窗口,用于展示后續(xù)的圖像處理結(jié)果。窗口背景為黑色,尺寸為768x575。然后,我們設置了一個最小的區(qū)域大小MinSize,并獲取了系統(tǒng)的圖像初始化參數(shù)。

      2. 創(chuàng)建網(wǎng)格區(qū)域并裁剪圖像

      為了有效識別車道標記,我們首先需要創(chuàng)建一個網(wǎng)格區(qū)域,這樣可以在大范圍內(nèi)搜索車道標記。

      gen_grid_region (Grid, MinSize, MinSize, 'lines', 512, 512)  
      * 生成一個512x512的網(wǎng)格區(qū)域,用于車道檢測

      clip_region (Grid, StreetGrid, 130, 10, 450, 502)  
      * 從生成的網(wǎng)格區(qū)域中裁剪出指定區(qū)域(130, 10, 450, 502),得到街道網(wǎng)格區(qū)域

      在這一步中,gen_grid_region函數(shù)生成了一個512x512的網(wǎng)格區(qū)域,網(wǎng)格間距為MinSize。然后,我們用clip_region函數(shù)從網(wǎng)格中裁剪出了一個感興趣的區(qū)域(街道網(wǎng)格區(qū)域),為后續(xù)處理提供了一個明確的目標區(qū)域。

      3. 車道標記檢測算法核心步驟

      接下來,我們進入車道檢測的核心部分。通過Sobel算子提取圖像的梯度信息,并結(jié)合閾值化技術來提取車道標記。

      for i := 0 to 28 by 1  
      * 對于每張圖像進行循環(huán),遍歷場景0到28

          read_image (ActualImage, 'autobahn/scene_' + (i$'02'))  
          * 讀取場景圖像(場景編號為i)

          reduce_domain (ActualImage, StreetGrid, Mask)  
          * 使用街道網(wǎng)格區(qū)域?qū)D像進行約束,得到圖像的感興趣區(qū)域(Mask)

          sobel_amp (Mask, Gradient, 'sum_abs', 3)  
          * 對感興趣區(qū)域應用Sobel算子,計算梯度幅值,使用絕對值和方法,窗口大小為3

          threshold (Gradient, Points, 20, 255)  
          * 對梯度幅值進行閾值化處理,保留值在20到255之間的區(qū)域,得到車道邊緣點

          dilation_rectangle1 (Points, RegionDilation, MinSize, MinSize)  
          * 對車道邊緣點進行矩形膨脹,膨脹的大小為MinSize x MinSize

          reduce_domain (ActualImage, RegionDilation, StripGray)  
          * 使用膨脹后的區(qū)域?qū)D像進行約束,得到一個新的圖像區(qū)域(StripGray)

          threshold (StripGray, Strip, 190, 255)  
          * 對處理后的圖像區(qū)域應用閾值化操作,保留值在190到255之間的部分

          fill_up (Strip, RegionFillUp)  
          * 對二值圖像進行填充操作,填充車道區(qū)域

          dev_display (ActualImage)  
          * 顯示當前圖像

          dev_display (RegionFillUp)  
          * 顯示車道填充區(qū)域

      endfor  

      這部分代碼完成了車道標記檢測的主要任務。具體步驟如下:

       

      讀取圖像并約束區(qū)域:通過read_image讀取不同的圖像數(shù)據(jù),然后利用reduce_domain函數(shù)將處理范圍限制在感興趣區(qū)域StreetGrid內(nèi)。

       

       

      梯度計算和閾值化:使用sobel_amp計算圖像的梯度幅值,之后通過threshold進行閾值化,提取出車道邊緣的像素點。

       

       

      膨脹操作:通過dilation_rectangle1對提取的車道邊緣點進行膨脹,擴大檢測區(qū)域,確保車道標記的完整性。

       

       

      再次閾值化和填充:對膨脹后的圖像進行再次閾值化,并用fill_up函數(shù)填充車道區(qū)域,確保標記完整。

       

      4. 顯示結(jié)果與更新窗口

      最后,通過dev_display函數(shù)顯示處理后的圖像和車道區(qū)域。

      dev_set_line_width (1)  
      * 將線寬設置回1

      dev_update_window ('on')  
      * 恢復窗口更新

      set_system ('init_new_image', Information)  
      * 恢復圖像初始化的系統(tǒng)參數(shù)

      這些代碼段完成了顯示和更新圖像窗口的操作,確保用戶能夠?qū)崟r看到車道檢測的結(jié)果。

      5. 算法效果圖

      以下是該車道標記檢測算法在處理過程中的效果圖示例:

       

      原始圖像:

      640.webp.png

       

      檢測到的車道標記:

      640.webp (1).png

       

      通過這些效果圖,可以看到算法如何在復雜的道路環(huán)境中成功提取車道標記。


      相關資訊

      專業(yè)工程師

      24小時在線服務提交需求快速為您定制解決方案

      13798538021