Files
@ c60da2275a2b
Branch filter:
Location: OneEye/exp/kerokero/transformation_matrices.py - annotation
c60da2275a2b
733 B
text/x-python
Dochi grid detection module
655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 655956f6ba89 | import math
import random
import numpy as np
def getIdentity():
return np.float32([
[1,0,0],
[0,1,0],
[0,0,1]
])
def getRotation():
alpha=random.random()*2*math.pi
return np.float32([
[math.cos(alpha),math.sin(alpha),0],
[-math.sin(alpha),math.cos(alpha),0],
[0,0,1]
])
def getTranslation(dx,dy):
return np.float32([
[1,0,dx],
[0,1,dy],
[0,0,1]
])
def getScale(kx,ky=0):
if not ky: ky=kx
return np.float32([
[kx,0,0],
[0,ky,0],
[0,0,1]
])
def getMirroring():
return np.float32([
[random.choice((1,-1)),0,0],
[0,1,0],
[0,0,1]
])
def getProjection():
dx=random.uniform(-0.0005,0.0005)
dy=random.uniform(-0.0005,0.0005)
return np.float32([
[1,0,0],
[0,1,0],
[dx,dy,1]
])
|