transformations.py 文件源码

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

项目:deep-prior 作者: moberweger 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号