背景减除法基本思想:利用当前帧图像与背景图像对应像素点的灰度差值来检测目标物体。如果当前图像的像素点和背景图像的像素点灰度值差别很大,就认为此像素点为前景像素点;相反,如果当前图像的像素点和背景图像的像素点灰度值差别较小,在一定的阈值范围内,我们就认为此像素点为背景像素点。
具体halcon代码如下:
*背景减除法
dev_clear_window()dev_close_window()
*读取背景图像
read_image (BKImage, 'C:/Users/背景减除法/TEST/background.bmp')
get_image_size (BKImage, Width, Height)
dev_open_window_fit_image (BKImage, 0, 0, Width, Width, WindowHandle)
dev_display (BKImage)
*依次读取当前帧图像
for i := 37 to 80 by 1
read_image(Image,'C:/Users/背景减除法/TEST/'+i+'.bmp')
sub_image (Image,BKImage, ImageSub, 1, 128)
*使用灰度直方图自适应选择阈值
auto_threshold (ImageSub, Regions, 2)
reduce_domain (ImageSub, Regions, ImageReduced)
c