Script execution

This commit is contained in:
sfop
2017-05-29 12:17:07 +02:00
parent 2960d4fc2f
commit 899a64cc14

View File

@@ -125,6 +125,16 @@ class ImageStats(DeviceBase):
set_device_alias(self.com_y_stdev, name + " com y stdev")
self.bg_en = False
self.num_images = 5
class BackgroundSubtractor(Filter):
def __init__(self, obj):
self.obj=obj
def process(self, image, data):
if self.obj.background is None:
raise Exception("No background captured")
return sub(image, self.obj.background, True)
self.backgroundFilter = BackgroundSubtractor(self)
self.initialize()
#class SourceListener (ImageListener):
@@ -167,17 +177,20 @@ class ImageStats(DeviceBase):
def enableBackground(self, value):
self.bg_en = value
class BackgroundSubtractor(Filter):
def __init__(self, obj):
self.obj=obj
def process(self, image, data):
if self.obj.background is None:
return image
return sub(image, self.obj.background, True)
self.source.filter = BackgroundSubtractor(self) if (value==True) else None
self.source.filter = self.backgroundFilter if self.bg_en else None
def captureBackground(self, images):
self.doInitialize()
try:
self.source.filter = None
imgs = []
for i in range(images):
self.source.waitNext(5000)
imgs.append(cam3.output)
#TODO:
self.background = cam3.output
finally:
self.enableBackground(self.bg_en)
def doClose(self):
print "close"
@@ -217,6 +230,8 @@ if __name__ == "__builtin__":
image_stats.setNumberOfImages(3)
sensors = [image_stats.com_x_mean, image_stats.com_y_mean, image_stats.com_x_stdev, image_stats.com_y_stdev]
image_stats.captureBackground(5)
def before_sample():
image_stats.update()
tscan(sensors, 10, 0.1, before_read = before_sample)