halcon计算光流场检测运动物体

更新时间:2023-11-09 06:40:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

应用optical_flow_mg这个算子来在一个图像序列中计算其光溜,并且分割其运动物体

楼主

#

更多发布于:2013-07-22 09:11

*这个事例是应用optical_flow_mg这个算子来在一个图像序列中计算其光溜,并且分割其运动物体

dev_update_off ()//把程序窗口、变量窗口、显示窗体变为off状态 dev_close_window ()//*关闭显示窗口

*l Initialize the image sequence2 *l 初始化图像序列.

read_image (Image1, 'xing/xing000')//读入图像

dev_open_window_fit_image (Image1, 0, 0, -1, -1, WindowHandle)//打开一个新的带有所给图像纵横比图像窗口

*参数1.被给的图像2&3是以左上角为原点的所给窗口新的位置3&4是窗口的最小和最大限制值5.新的窗口句柄。个人理解:这个算子就是按照所给图像的尺寸自己在基础上可以缩放大小。注意:设置之后在以后的新的窗体上都会默认应用。 *l Set the display parameters for the vector field. *l 设置显示的矢量场参数

dev_set_paint (['vector_field',6,1,2])

*定义灰度值输出模型,,灰度值得输出模型具体要参见set_paint帮助文档上的,更具体详细。注意:在使用这个算子是输出为其他编程工具的时候会有不同的这个具体要仔细参见文档。

dev_set_draw ('margin') for I := 1 to 587 by 1

read_image (Image2, 'xing/xing'+I$'03')//读出连续的图像序列 *计算光流

optical_flow_mg (Image1, Image2, VectorField, 'fdrig', 0.8, 1, 8, 5, 'default_parameters', 'accurate')

*计算两幅图片的光流场。参数:1&2是输入的两个单色图片序列的连续图片,3为输出的光流结果4是求取光流三种算法的选取其中的应用5,高斯平滑初始偏差初始值6积分滤波偏差初始值7平滑项在数据项中的权重8梯度恒定性相对于灰度值恒定性的权重9多栅算法的名字10多栅算法的变量 *分割光流矢量场

threshold (VectorField, Region, 1, 10000) *分割矢量场

*显示图像序列,标注在图像数据中光流场中移动的物体会被显示 dev_display (Image2)//显示光流图像 dev_set_color ('yellow') dev_set_line_width (1)

dev_display (VectorField) *//显示分割后的光流

dev_set_color ('green') dev_set_line_width (3) dev_display (Region)

*把先前的图像序列复制到现在的图像序列中 *完成的功能就是序列图像的更新. copy_obj (Image2, Image1, 1, 1) endfor

[lgzzzz于2013-07-27 16:04编辑了帖子]

? 描述:1 图片:1.jpg

本文来源:https://www.bwwdw.com/article/6gyv.html

Top