窗口程序集名 | 保 留 | 保 留 | 备 注 |
程序集1 | | | |
变量名 | 类 型 | 数组 | 备 注 |
横坐标偏移 | 小数型 | |
纵坐标偏移 | 小数型 | |
鼠标坐标 | 点2i类 | |
上一次中心坐标 | 点2i类 | |
移动最大距离 | 双精度小数型 | |
抖动幅度 | 双精度小数型 | |
移动最大距离 = 35
抖动幅度 = 20
上一次中心坐标.
初始化 (-1, -1
)返回 (0
) 变量名 | 类 型 | 静态 | 数组 | 备 注 |
视频 | 视频采集类 | | |
图 | 多维矩阵类 | | |
预测框 | 暗网预测框类 | | |
视频.
打开 (“vtest.avi”, 0,
)
如果真 (视频.
已打开 () =
假)
视觉_控制台输出 (“文件打开失败”,
)
视觉_控制台命令 (“pause”)
返回 (-1
)
判断循环首 (视频.
读 (图
))

图.
平移 (横坐标偏移, 纵坐标偏移, 图
)
目标锁定 (图, 预测框
)
视觉_显示图像 (“小白鼠”,
)
视觉_等待按键 (500
)
判断循环尾 ()变量名 | 类 型 | 静态 | 数组 | 备 注 |
最小距离 | 双精度小数型 | | |
索引 | 整数型 | | |
i | 整数型 | | |
矩形 | 矩形2i类 | | |
中心点 | 点2i类 | | |
距离 | 双精度小数型 | | |
索引 = -1
最小距离 = 2147483647
判断 (上一次中心坐标.左边 = -1
)
计次循环首 (目标.
尺寸 (), i
)

矩形.
初始化 (目标.
横坐标 (i
), 目标.
纵坐标 (i
), 目标.
宽 (i
), 目标.
高 (i
))


中心点 = 矩形.
中心点 ()

距离 = 鼠标坐标.
范围 (中心点
)

如果真 (最小距离> 距离
) {


最小距离 = 距离



索引 = i



上一次中心坐标 = 中心点




计次循环尾 ()
计次循环首 (目标.
尺寸 (), i
)
矩形.
初始化 (目标.
横坐标 (i
), 目标.
纵坐标 (i
), 目标.
宽 (i
), 目标.
高 (i
))

中心点 = 矩形.
中心点 ()
距离 = 鼠标坐标.
范围 (中心点
)

如果真 (最小距离 > 距离
) {

最小距离 = 距离



如果真 (最小距离 < 移动最大距离
)


索引 = i







如果真 (最小距离 > 抖动幅度
)



上一次中心坐标 = 中心点









计次循环尾 ()
如果 (索引 = -1
) 

上一次中心坐标.
初始化 (-1, -1
)

矩形.
初始化 (目标.
横坐标 (索引
), 目标.
纵坐标 (索引
), 目标.
宽 (索引
), 目标.
高 (索引
))

视觉_矩形 (输入图, 矩形,
标量 (0, 0, 255
), 2, 8, 0
)
视觉_圆 (输入图, 上一次中心坐标, 2,
标量 (0, 255
), -1, 8, 0
)
视觉_箭头线 (输入图, 鼠标坐标, 上一次中心坐标,
标量 (255, 0, 0
), 1,
#线类型_抗锯齿, 0, 1
)

横坐标偏移 = 横坐标偏移 + 鼠标坐标.左边 - 上一次中心坐标.左边


纵坐标偏移 = 纵坐标偏移 + 鼠标坐标.顶边 - 上一次中心坐标.顶边

视觉_圆 (输入图, 鼠标坐标, 2, 标量 (0, 0, 255), -1, 8, 0)