All pastes #2053865 Raw Edit

Anonymous

public python v1 · immutable
#2053865 ·published 2011-05-04 16:01 UTC
rendered paste body
from processing import video_stream_processorimport multiprocessing, loggingimport cvdef processFrame(imageProcessor, frameNum, frame):    print frameNum    (image, features) = imageProcessor.processImage(frame)    return (object, (frameNum, features))class VideoProcessor(object):    '''    Processes video stream and retrieves frame descriptors    '''        videoStreamProcessor = None    features = {}    def __init__(self, filename):        '''        Constructor        '''                # Initialize video stream processor first        self.videoStreamProcessor = video_stream_processor.VideoStreamProcessor(filename)            def getVideoFeatures(self, imageProcessor):                logger = multiprocessing.log_to_stderr()        logger.setLevel(multiprocessing.SUBDEBUG)                pool = multiprocessing.Pool()                frame_counter = 0                # Process video        while True:            frame = self.videoStreamProcessor.get_frame()                        if frame == None:                break                        # Process frame in another thread            pool.apply_async(processFrame, (imageProcessor, frame_counter, frame), callback=self.storeResult)            frame_counter = frame_counter + 1                        if frame_counter % 100 == 0:                print frame_counter                    # Wait for the processing to stop        pool.close()        pool.join()                print "Feature length ", len(self.features)                return self.features                def storeResult(self, result):        self.features[result[0]] = result[1]