proc.py 文件源码

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

项目:PyMDNet 作者: HungWei-Andy 项目源码 文件源码
def sample(gt, n, im_size, scale_factor, transfer_range, scale_range, valid, verbose=False):
  samp = np.array([gt[0]+gt[2]/2.0, gt[1]+gt[3]/2.0, gt[2], gt[3]])
  samples = np.repeat(np.reshape(samp, [1, -1]), n, axis=0)
  h, w = im_size

  if verbose:
    print(w, h)
    print(gt)
    print(samp)
    print(transfer_range)
    print(scale_range)

  samples[:, 0] = np.add(samples[:, 0], transfer_range*samp[2]*(np.random.rand(n)*2-1))
  samples[:, 1] = np.add(samples[:, 1], transfer_range*samp[3]*(np.random.rand(n)*2-1))
  samples[:, 2:]  = np.multiply(samples[:, 2:], np.power(scale_factor, scale_range*np.repeat(np.random.rand(n,1)*2-1,2,axis=1)))
  samples[:, 2] = np.maximum(0, np.minimum(w-5, samples[:,2]))
  samples[:, 3] = np.maximum(0, np.minimum(h-5, samples[:,3]))

  if verbose:
    print(samples[0])

  samples = np.c_[samples[:,0]-samples[:,2]/2, samples[:,1]-samples[:,3]/2, samples[:,2], samples[:,3]]

  if verbose:
    print(samples[0])

  if valid:
    samples[:,0] = np.maximum(0,np.minimum(w-samples[:,2],samples[:,0]))
    samples[:,1] = np.maximum(0,np.minimum(h-samples[:,3],samples[:,1]))
  else:
    samples[:,0] = np.maximum(0-samples[:,2]/2,np.minimum(w-samples[:,2]/2,samples[:,0]))
    samples[:,1] = np.maximum(0-samples[:,3]/2,np.minimum(h-samples[:,3]/2,samples[:,1]))

  if verbose:
    print(samples[0])
  return samples

###########################################################################
#                          overlap_ratio                                  #
###########################################################################
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号