def getJitteredParams(self, num, center=(0.0, 0.0), maxRot=(-5.0, 5.0), maxTranslate=(-2.0, 2.0),
maxScale=(-0.1, 0.1), mirror=True):
if not (type(maxRot) is tuple):
maxRot = (-maxRot, maxRot)
if not (type(maxTranslate) is tuple):
maxTranslate = (-maxTranslate, maxTranslate)
if not (type(maxScale) is tuple):
maxScale = (-maxScale, maxScale)
alphas = self.rng.rand(num) * (maxRot[1] - maxRot[0]) + maxRot[0]
alphas = numpy.deg2rad(alphas)
tx = self.rng.rand(num) * (maxTranslate[1] - maxTranslate[0]) + maxTranslate[0]
ty = self.rng.rand(num) * (maxTranslate[1] - maxTranslate[0]) + maxTranslate[0]
sc = 2 ** -(self.rng.rand(num) * (maxScale[1] - maxScale[0]) + maxScale[0])
if mirror:
mi = self.rng.randint(2, size=num) # mirror true or false
else:
mi = numpy.zeros(num)
transformationMats = []
for i in range(num):
# First is not modified
if i == 0:
t = numpy.array([0, 0, 0, 1, 0])
else:
t = numpy.array([alphas[i], tx[i], ty[i], sc[i], mi[i]])
transformationMats.append(t)
return transformationMats
评论列表
文章目录