Script execution
This commit is contained in:
@@ -22,7 +22,9 @@ def detect_led(ip):
|
||||
|
||||
roi_center = (2322, 1025)
|
||||
roi_radius = 1000
|
||||
integrations = 10
|
||||
integration_count = 5
|
||||
integration_continuous = False
|
||||
integration_partial = False
|
||||
frames = []
|
||||
|
||||
|
||||
@@ -78,17 +80,24 @@ def integrate (ips):
|
||||
op_const(aux, "divide", len(ips), in_place=True)
|
||||
return aux
|
||||
|
||||
last_ret = (None, None)
|
||||
|
||||
|
||||
def detect_led(ip, integrations):
|
||||
global roi_center, roi_radius
|
||||
def detect_led(ip):
|
||||
global roi_center, roi_radius, integration_count, integration_continuous, integration_partial, frames
|
||||
global count , last_ret
|
||||
aux = sub_image(ip, roi_center[0] - roi_radius, roi_center[1] - roi_radius, 2* roi_radius, 2*roi_radius)
|
||||
grayscale(aux)
|
||||
|
||||
if (integrations>1):
|
||||
frames.append(aux)
|
||||
if len(frames) >integrations:
|
||||
del frames[0]
|
||||
if (integration_count>1):
|
||||
frames.append(aux)
|
||||
if len(frames) >integration_count:
|
||||
del frames[0]
|
||||
if not integration_continuous:
|
||||
if (len(frames)< integration_count):
|
||||
if last_ret[1] is not None: invert(last_ret[1])
|
||||
return last_ret
|
||||
if (not integration_partial) and len(frames) <integration_count:
|
||||
return last_ret
|
||||
aux = integrate(frames)
|
||||
|
||||
#aux = get_channel(aux, "blue")
|
||||
@@ -98,7 +107,7 @@ def detect_led(ip, integrations):
|
||||
#binary_open(aux)
|
||||
(results,output) = analyse_particles(aux, 400,4000,
|
||||
fill_holes = True, exclude_edges = True,print_table=False,
|
||||
output_image = "outlines", minCirc = 0.2
|
||||
output_image = "outlines", minCirc = 0.3
|
||||
, maxCirc = 1.0)
|
||||
r=results
|
||||
|
||||
@@ -110,7 +119,10 @@ def detect_led(ip, integrations):
|
||||
else:
|
||||
#print >> sys.stderr, 'Invalid location:' + str(r.getValue("XM", row)) + ", " + str( r.getValue("YM", row))
|
||||
print >> sys.stderr, r.getRowAsString(row)
|
||||
#return (results,aux)
|
||||
#return (results,aux)
|
||||
last_ret = (results,output)
|
||||
if not integration_continuous:
|
||||
frames = []
|
||||
return (results,output)
|
||||
|
||||
|
||||
@@ -120,12 +132,13 @@ def detect_led(ip, integrations):
|
||||
|
||||
class MyFilter(Filter):
|
||||
def process(self, image, data):
|
||||
global roi_center, roi_radius, frames, integrations
|
||||
global roi_center, roi_radius
|
||||
ip = load_image(image)
|
||||
(results,output) = detect_led(ip, integrations)
|
||||
invert(output)
|
||||
output = pad_image(output, roi_center[0] - roi_radius, 0, roi_center[1] - roi_radius, 0)
|
||||
op_image(ip, output, "xor")
|
||||
(results,output) = detect_led(ip)
|
||||
if output is not None:
|
||||
invert(output)
|
||||
output = pad_image(output, roi_center[0] - roi_radius, 0, roi_center[1] - roi_radius, 0)
|
||||
op_image(ip, output, "xor")
|
||||
return ip.getBufferedImage()
|
||||
|
||||
#Setting the filter to a source
|
||||
|
||||
Reference in New Issue
Block a user