Halcon学习---案例实战(1)--车道线检测
autobahn.hdev* autobahn.hdev: Fast detection of lane markers*dev_update_window ('off')dev_close_window ()dev_open_window (0, 0, 768, 575, 'black', WindowID)MinSize := 30get_system ('init_new_image', I
·
autobahn.hdev
* 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')
*生成了一个网格,一个像素的
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_amp (Mask, Gradient, 'sum_abs', 3)
*筛选一下边缘
threshold (Gradient, Points, 20, 255)
*用30x30的矩形框进行膨胀
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)

更多推荐


所有评论(0)