HALCON-dual_threshold.hdv

* Threshold operator for signed images

dev_close_window ()

//读取前一帧图像
read_image (Traffic1, 'traffic1')

//读取后一帧图像
read_image (Traffic2, 'traffic2')

//图像类型转换
convert_image_type (Traffic1, ImageConverted1, 'int2')
convert_image_type (Traffic2, ImageConverted2, 'int2')
//图像做差
sub_image (ImageConverted1, ImageConverted2, ImageSub, 1, 0)

//差图像做阈值处理 MinSize:500 MinGray:20 Threshold:10
dual_threshold (ImageSub, RegionDiff, 500, 20, 10)
get_image_size (Traffic1, Width, Height)
dev_open_window (0, 0, 2 * Width, 2 * Height, 'black', WindowHandle)
set_display_font (WindowHandle, 14, 'mono', 'true', 'false')
dev_set_part (0, 0, Height - 1, Width - 1)
dev_set_draw ('margin')
dev_set_colored (6)
dev_display (Traffic1)
dev_display (RegionDiff)
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
* Select regions based on gray value features
select_gray (RegionDiff, Traffic1, SelectedRegions, 'deviation', 'and', 20, 255)
dilation_circle (SelectedRegions, RegionDilation, 1.5)
reduce_domain (Traffic1, RegionDilation, ImageReduced)
binary_threshold (ImageReduced, Region, 'max_separability', 'dark', UsedThreshold)
* Transform the shape of a region.
shape_trans (Region, RegionTrans, 'convex')
dev_set_draw ('margin')
dev_set_colored (6)
dev_display (Traffic1)
dev_display (RegionTrans)

猜你喜欢

转载自blog.csdn.net/dxm809/article/details/87876407