halcon边缘检测-autobahn车道线的快速检测
基本思路:
先獲得主要感興趣區域,去除車的干擾
然后通過sobel_amp算子檢測邊緣明顯變化的圖像,得到原始圖像邊緣位置的圖像數據
然后通過閾值獲取目標邊緣。
通過膨脹目標邊緣獲得感興趣區域,再次通過閾值分割獲得目標
* autobahn.hdev: Fast detection of lane markers? ? *?車道線的快速檢測
*?
dev_update_window ('off')
dev_close_window ()
dev_open_window (0, 0, 768, 575, 'black', WindowID)
MinSize := 30
get_system ('init_new_image', Information)
set_system ('init_new_image', 'false')
*?獲得網格 MinSize?小網格大小,512-網格的大小
gen_grid_region (Grid, MinSize, MinSize, 'lines', 512, 512)
*對這個網格以矩形修剪
clip_region (Grid, StreetGrid, 130, 10, 450, 502)
dev_set_line_width (3)
dev_set_color ('green')
read_image (ActualImage, 'autobahn/scene_00')
dev_display (ActualImage)
stop ()
dev_display (StreetGrid)
stop ()
for i := 0 to 28 by 1
? ? read_image (ActualImage, 'autobahn/scene_' + (i$'02'))
*用修剪過的網格剪切圖片
? ? reduce_domain (ActualImage, StreetGrid, Mask)
*sobel算法
? ? sobel_amp (Mask, Gradient, 'sum_abs', 3)
*閾值分割
? ? threshold (Gradient, Points, 20, 255)
*膨脹操作
? ? dilation_rectangle1 (Points, RegionDilation, MinSize, MinSize)
*用膨脹后的區域剪切原圖像
? ? reduce_domain (ActualImage, RegionDilation, StripGray)
*閾值分割
? ? threshold (StripGray, Strip, 190, 255)
*填充
? ? fill_up (Strip, RegionFillUp)
? ? dev_display (ActualImage)
? ? dev_display (RegionFillUp)
endfor
dev_set_line_width (1)
dev_update_window ('on')
set_system ('init_new_image', Information)
總結
以上是生活随笔為你收集整理的halcon边缘检测-autobahn车道线的快速检测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android图片的三级缓存
- 下一篇: Python基础教程-菜鸟教程学习笔记1