红颜sad
VIP会员
VIP会员
  • 最后登录2014-05-14
  • 发帖数45
  • 金币891枚
  • 贡献勋章0枚
阅读:4514回复:10

halcon 中光流法跟踪的简单应用

楼主#
更多 发布于:2013-08-17 15:17
* This example program shows how to use
optical_flow_mg to compute the
* optical flow in an image sequence and how
to segment the optical flow.
这个事例是应用optical_flow_mg这个算子来在一个图像序列中计算其光溜,并且分割其运动物体
dev_update_off ()
把程序窗口、变量窗口、显示窗体变为off状态
dev_close_window ()
关闭显示窗口
l  Initialize the image sequence
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
l  Read the current image of the image sequence.
l  读出连续的图像序列
  
read_image (Image2, 'xing/xing'+I$'03')
l  Compute the optical flow.
l  计算光流
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多栅算法的变量
l  Segment the optical flow vector field.
l  分割光流矢量场
threshold
(VectorField, Region, 1, 10000)
分割矢量场
    *
Display the current image of the sequence.  Note that this means that
    *
the optical flow vectors will also be displayed at the "end" of the
movement
* of the
objects in the image.
显示图像序列,标注在图像数据中光流场中移动的物体会被显示
  
dev_display (Image2)
l  Display the optical flow.
l  显示光流图像
  
dev_set_color ('yellow')
  
dev_set_line_width (1)
  
dev_display (VectorField)
l  Display the segmented optical flow.
l  显示分割后的光流
  
dev_set_color ('green')
  
dev_set_line_width (3)
  
dev_display (Region)
l  Copy the current image to the previous image of the sequence
l  把先前的图像序列复制到现在的图像序列中
l  完成的功能就是序列图像的更新(个人见解).
  
copy_obj (Image2, Image1, 1, 1)
endfor
喜欢7

最新打赏:0人

lp546518701
初学者
初学者
  • 最后登录2013-08-19
  • 发帖数1
  • 金币18枚
  • 贡献勋章0枚
  • 社区居民
沙发#
发布于:2013-08-19 10:59
支持楼主,分享快乐。
hewenyuan
助理工程师
助理工程师
  • 最后登录2018-09-21
  • 发帖数48
  • 金币365枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
板凳#
发布于:2013-08-19 15:52
mark,以后来学习
zc_yxx
助理工程师
助理工程师
  • 最后登录2018-05-05
  • 发帖数21
  • 金币418枚
  • 贡献勋章0枚
地板#
发布于:2013-08-20 09:06
早上刚刚报道 来 顶一个贴 哈哈
wusaki
初学者
初学者
  • 最后登录2013-10-12
  • 发帖数7
  • 金币46枚
  • 贡献勋章0枚
4楼#
发布于:2013-09-24 09:24
看看,学习一下,了解一下
fredyang
助理工程师
助理工程师
  • 最后登录2016-05-17
  • 发帖数39
  • 金币495枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
5楼#
发布于:2013-10-06 16:59
Mark!!!!!!!!!!!!!!!!感谢作者分享
小七爱SHH
工程师
工程师
  • 最后登录2015-03-14
  • 发帖数200
  • 金币1157枚
  • 贡献勋章0枚
6楼#
发布于:2013-10-22 17:03
赞一个,目标跟踪三个方法,背景减除,帧差,还有光流
kc紫皇
专家
专家
  • 最后登录2016-07-24
  • 发帖数184
  • 金币5569枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
  • 喜欢达人
  • 原创写手
7楼#
发布于:2014-01-26 15:12
 
 
帧差法
 
光流分割法
 
原理
 
相邻帧图像作相减运算之后,对结果图像阈值分割,提取运动目标。
 
是通过目标和背景之间的不同速度来检测运动目标。
 
优点
 
最简单,速度快,易于硬件实现
 
具有较强的抗干扰性
 
缺点
 
简单的帧差法只能适用于静止背景,为了适应动态背景,必须对摄像机运动补偿后再进行差分。
 
不能有效区分目标运动造成的背景遮拦、显现以及孔径等问题,计算量大,需要特殊的硬件支持。如果光照强度或光源方位发生了变化,则会产生错误结果。

下面是dev_set_paint的不同的设置模式。
It should be noted that the mode 'default' is the most suitable in almost all cases.

图片:4.png





datiansong
专家
专家
  • 最后登录2018-08-28
  • 发帖数297
  • 金币5458枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
  • 喜欢达人
8楼#
发布于:2014-11-05 11:45
很棒,赞一个,学习了!
hongmushuixin
助理工程师
助理工程师
  • 最后登录2018-09-21
  • 发帖数210
  • 金币324枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
9楼#
发布于:2018-06-10 21:23
学习一下,谢谢分享!!!
daiyuehai
初学者
初学者
  • 最后登录2018-09-23
  • 发帖数72
  • 金币49枚
  • 贡献勋章0枚
  • 社区居民
10楼#
发布于:2018-06-11 11:12
学习一下,谢谢分享!!!
游客

返回顶部
支付

欢迎打赏,请选择打赏金额

  • 1元
  • 6元
  • 10元
  • 66元
  • 100元

支付即代表同意《本站支付协议》 有疑问请联系客服