def loadFile(self, filepath, nFrames, pyramid=0): '''This function should load frames of a video with a regular file expression to read filenames. The number of frames is known beforehand to ease computing.''' # Update variables based on input self.pyramid = pyramid self.nFrames = nFrames self.filepath = filepath # Separate name from extension path = filepath.split('.') extension = '.' + path[-1] path = "".join(path[:-1]) + '-' # For each frame that will be processed, we will load a single file for i in np.arange(1, nFrames+1): print "DEBUG: Loading frame", i # Load each frame frame = PyImage() frame.loadFile(path+str(i)+extension) frame.img = frame.img.convert("RGB") frame.updatePixels() # Compute its grayscale counterpart grayscaleFrame = frame.copy() grayscaleFrame.img = grayscaleFrame.img.convert("L") grayscaleFrame.updatePixels() # Append frames to lists self.frames.append(frame) self.grayscaleFrames.append(grayscaleFrame) # If pyramids will be used, start a pyramid for every grayscale # frame to be used later on if pyramid: print "DEBUG: Computing pyramids for frame", i framePyramid = GaussPyramid(pyramid) framePyramid.loadImage(grayscaleFrame.img) framePyramid.reduceMax() self.pyramids.append(framePyramid)
def loadFile(self, filepath, nFrames, pyramid=0): '''This function should load frames of a video with a regular file expression to read filenames. The number of frames is known beforehand to ease computing.''' # Update variables based on input self.pyramid = pyramid self.nFrames = nFrames self.filepath = filepath # Separate name from extension path = filepath.split('.') extension = '.' + path[-1] path = "".join(path[:-1]) + '-' # For each frame that will be processed, we will load a single file for i in np.arange(1, nFrames + 1): print "DEBUG: Loading frame", i # Load each frame frame = PyImage() frame.loadFile(path + str(i) + extension) frame.img = frame.img.convert("RGB") frame.updatePixels() # Compute its grayscale counterpart grayscaleFrame = frame.copy() grayscaleFrame.img = grayscaleFrame.img.convert("L") grayscaleFrame.updatePixels() # Append frames to lists self.frames.append(frame) self.grayscaleFrames.append(grayscaleFrame) # If pyramids will be used, start a pyramid for every grayscale # frame to be used later on if pyramid: print "DEBUG: Computing pyramids for frame", i framePyramid = GaussPyramid(pyramid) framePyramid.loadImage(grayscaleFrame.img) framePyramid.reduceMax() self.pyramids.append(framePyramid)