tracker.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:KCF 作者: Bruceeeee 项目源码 文件源码
def update_tracker(response,img_size,pos,HOG_flag,scale_factor=1):
    start_w,start_h = response.shape
    w,h = img_size
    px,py,ww,wh = pos
    res_pos = np.unravel_index(response.argmax(),response.shape)
    scale_w = 1.0*scale_factor*(ww*2)/start_w
    scale_h = 1.0*scale_factor*(wh*2)/start_h
    move = list(res_pos)
    if not HOG_flag:
        px_new = [px+1.0*move[0]*scale_w,px-(start_w-1.0*move[0])*scale_w][move[0]>start_w/2] 
        py_new = [py+1.0*move[1]*scale_h,py-(start_h-1.0*move[1])*scale_h][move[1]>start_h/2]
        px_new = np.int(px_new) 
        py_new = np.int(py_new)
    else:
        move[0] = np.floor(res_pos[0]/32.0*(2*ww))
        move[1] = np.floor(res_pos[1]/32.0*(2*wh))
        px_new = [px+move[0],px-(2*ww-move[0])][move[0]>ww] 
        py_new = [py+move[1],py-(2*wh-move[1])][move[1]>wh] 
    if px_new<0: px_new = 0
    if px_new>w: px_new = w-1
    if py_new<0: py_new = 0
    if py_new>h: py_new = h-1
    ww_new = np.ceil(ww*scale_factor)
    wh_new = np.ceil(wh*scale_factor)
    new_pos = (px_new,py_new,ww_new,wh_new)
    return new_pos
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号