async def blur(self, radius, sigma=0): if sigma == 0: sigma = radius if radius > MAX_RADIUS: radius = MAX_RADIUS matrix, matrix_size = self.generate_1d_matrix(sigma, radius) mode, data = self.engine.image_data_as_rgb() imgdata = _convolution.apply( mode, data, self.engine.size[0], self.engine.size[1], matrix, matrix_size, True, ) imgdata = _convolution.apply( mode, imgdata, self.engine.size[0], self.engine.size[1], matrix, 1, True, ) self.engine.set_image_data(imgdata)
def blur(self, radius, sigma=0): if sigma == 0: sigma = radius if radius > MAX_RADIUS: raise RuntimeError("Radius too large, maximum allowed value is %d" % MAX_RADIUS) matrix, matrix_size = self.generate_1d_matrix(sigma, radius) imgdata = _convolution.apply(self.engine.get_image_mode(), self.engine.get_image_data(), self.engine.size[0], self.engine.size[1], matrix, matrix_size, True) imgdata = _convolution.apply(self.engine.get_image_mode(), imgdata, self.engine.size[0], self.engine.size[1], matrix, 1, True) self.engine.set_image_data(imgdata)
def apply_blur(mode, data, size, radius, sigma=0): if sigma == 0: sigma = radius radius = min(radius, MAX_RADIUS) matrix, matrix_size = generate_1d_matrix(sigma, radius) data = _convolution.apply( mode, data, size[0], size[1], matrix, matrix_size, True ) return _convolution.apply(mode, data, size[0], size[1], matrix, 1, True)
def blur(self, radius, sigma=0): if sigma == 0: sigma = radius if radius > MAX_RADIUS: radius = MAX_RADIUS matrix, matrix_size = self.generate_1d_matrix(sigma, radius) mode, data = self.engine.image_data_as_rgb() imgdata = _convolution.apply(mode, data, self.engine.size[0], self.engine.size[1], matrix, matrix_size, True) imgdata = _convolution.apply(mode, imgdata, self.engine.size[0], self.engine.size[1], matrix, 1, True) self.engine.set_image_data(imgdata)
def convolution(self, matrix, columns, should_normalize=True): matrix = tuple(matrix.split(';')) mode, data = self.engine.image_data_as_rgb() imgdata = _convolution.apply(mode, data, self.engine.size[0], self.engine.size[1], matrix, columns, should_normalize) self.engine.set_image_data(imgdata)
def convolution(self, matrix, columns, should_normalize=True): matrix = tuple(matrix.split(';')) imgdata = _convolution.apply(self.engine.get_image_mode(), self.engine.get_image_data(), self.engine.size[0], self.engine.size[1], matrix, columns, should_normalize) self.engine.set_image_data(imgdata)