Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _post_process_capture(self, capture_path):
gp_path, effect = self._captures[capture_path]
camera_file = gp.check_result(gp.gp_camera_file_get(
self._cam, gp_path.folder, gp_path.name, gp.GP_FILE_TYPE_NORMAL))
image = Image.open(io.BytesIO(memoryview(camera_file.get_data_and_size())))
image = image.crop(sizing.new_size_by_croping_ratio(image.size, self.resolution))
if self._capture_hflip:
image = image.transpose(Image.FLIP_LEFT_RIGHT)
if effect != 'none':
image = image.filter(getattr(ImageFilter, effect.upper()))
image.save(capture_path)
return image
def _post_process_capture(self, capture_data):
"""Rework capture data.
:param capture_data: couple (GPhotoPath, effect)
:type capture_data: tuple
"""
gp_path, effect = capture_data
camera_file = self._cam.file_get(gp_path.folder, gp_path.name, gp.GP_FILE_TYPE_NORMAL)
if self.delete_internal_memory:
LOGGER.debug("Delete capture '%s' from internal memory", gp_path.name)
self._cam.file_delete(gp_path.folder, gp_path.name)
image = Image.open(io.BytesIO(camera_file.get_data_and_size()))
# Crop to keep aspect ratio of the resolution
image = image.crop(sizing.new_size_by_croping_ratio(image.size, self.resolution))
# Resize to fit the resolution
image = image.resize(sizing.new_size_keep_aspect_ratio(image.size, self.resolution, 'outer'))
if self._capture_hflip:
image = image.transpose(Image.FLIP_LEFT_RIGHT)
if effect != 'none':
image = image.filter(getattr(ImageFilter, effect.upper()))
return image
def _post_process_capture(self, capture_data):
"""Rework capture data.
:param capture_data: couple (frame, effect)
:type capture_data: tuple
"""
frame, effect = capture_data
image = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
# Crop to keep aspect ratio of the resolution
height, width = image.shape[:2]
cropped = sizing.new_size_by_croping_ratio((width, height), self.resolution)
image = image[cropped[1]:cropped[3], cropped[0]:cropped[2]]
# Resize to fit the resolution
height, width = image.shape[:2]
size = sizing.new_size_keep_aspect_ratio((width, height), self.resolution, 'outer')
image = cv2.resize(image, size, interpolation=cv2.INTER_AREA)
if self._capture_hflip:
image = cv2.flip(image, 1)
if effect != 'none':
LOGGER.warning("Effect with OpenCV camera is not implemented")
return Image.fromarray(image)