本文整理汇总了Python中filter.Filter.change方法的典型用法代码示例。如果您正苦于以下问题:Python Filter.change方法的具体用法?Python Filter.change怎么用?Python Filter.change使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类filter.Filter
的用法示例。
在下文中一共展示了Filter.change方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from filter import Filter [as 别名]
# 或者: from filter.Filter import change [as 别名]
#.........这里部分代码省略.........
if self.preprocessor.hasPitchSize:
self.outputPitchSize()
self.gui.setShowMouse(False)
else:
eventHandler.setClickListener(self.setNextPitchCorner)
while self.running:
self.doStuff()
except socket.error:
self.connected = False
# If the rest of the system is not up yet/gets quit,
# just wait for it to come available.
time.sleep(1)
# Strange things seem to happen to X sometimes if the
# display isn't updated for a while
self.doStuff()
if not self.stdout:
self.socket.close()
def connect(self):
print("Attempting to connect...")
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.connect( (HOST, PORT) )
self.connected = True
def quit(self):
self.running = False
def doStuff(self):
if self.cap.getCameraMatrix is None:
frame = self.cap.getImage()
else:
frame = self.cap.getImageUndistort()
frame = self.preprocessor.preprocess(frame)
self.gui.updateLayer('raw', frame)
ents = self.features.extractFeatures(frame)
self.outputEnts(ents)
self.gui.loop()
def setNextPitchCorner(self, where):
self.preprocessor.setNextPitchCorner(where)
if self.preprocessor.hasPitchSize:
print("Pitch size: {0!r}".format(self.preprocessor.pitch_size))
self.outputPitchSize()
self.gui.setShowMouse(False)
self.gui.updateLayer('corner', None)
else:
self.gui.drawCrosshair(where, 'corner')
def outputPitchSize(self):
print(self.preprocessor.pitch_size)
self.send('{0} {1} {2} \n'.format(
PITCH_SIZE_BIT, self.preprocessor.pitch_size[0], self.preprocessor.pitch_size[1]))
def outputEnts(self, ents):
# Messyyy
if not self.connected or not self.preprocessor.hasPitchSize:
return
self.send("{0} ".format(ENTITY_BIT))
for name in ['yellow', 'blue', 'ball']:
entity = ents[name]
x, y = entity.coordinates()
# The rest of the system needs (0, 0) at the bottom left
if y != -1:
y = self.preprocessor.pitch_size[1] - y
if name == 'ball':
angle = -1
else:
angle = 360 - (((entity.angle() * (180/math.pi)) - 360) % 360)
self.filter.change(name, x, y, angle)
coords = self.filter.update()
for name in ['yellow', 'blue', 'ball']:
if name == 'ball':
self.send('{0} {1} '.format(coords[name][0], coords[name][1]))
else:
self.send('{0} {1} {2} '.format(coords[name][0], coords[name][1], coords[name][2]))
self.send(str(int(time.time() * 1000)) + " \n")
def send(self, string):
if self.stdout:
sys.stdout.write(string)
else:
self.socket.send(string)