Пример #1
0
        0] * 0.02  #We only accept vertical lines  where two edges of the laser line are close to each other
    good_points = float(numpy.sum(numpy.where(mask1, 1, 0)))
    if (good_points < 10):
        return
    good_indices = numpy.arange(maxes.shape[0])[mask1]
    good_range = good_indices[-1] - good_indices[0]
    fraction = good_points / float(good_range)  #fraction of good points
    goldenratio = 1.618
    frameno += 1
    if fraction > 0.7:
        print fraction
        extract_data(
            numpy.arange(maxes.shape[0])[mask1], maxes[mask1, 1], camera)
        scipy.misc.imsave("/tmp/saved-%03d.png" % frameno, r)
        lab.figure(frameno, figsize=(5.0 * goldenratio, 5.0))
        lab.plot(numpy.arange(0, maxes.shape[0])[mask1], maxes[mask1, 1], 'bo')
        lab.plot(numpy.arange(0, maxes.shape[0]), 20 * (1 - mask1),
                 'g+')  #mask out the ranges where maximums are bad
        lab.ylabel("Position of maximum")
        lab.savefig("/tmp/saved-%03d-plt2.png" % frameno)


mp = FFMpegReader()
print sys.argv[1]
mp.open(sys.argv[1])
tracks = mp.get_tracks()
video_track = tracks[0]
video_track.set_observer(observer)
#cProfile.run('mp.run()')
mp.run()