Resized preview image to improve performance
This commit is contained in:
@@ -37,6 +37,8 @@ class PictureDimensions:
|
||||
|
||||
self.computeThumbnailDimensions()
|
||||
|
||||
self.computePreviewDimensions(config)
|
||||
|
||||
def computeThumbnailDimensions(self):
|
||||
|
||||
resize_factor = min((((self.outputSize[i] - (self.numPictures[i] + 1) *
|
||||
@@ -58,6 +60,17 @@ class PictureDimensions:
|
||||
pos[j] * self.thumbnailSize[j]
|
||||
for j in range(2)))
|
||||
|
||||
def computePreviewDimensions(self, config):
|
||||
|
||||
gui_size = (config.getInt('Gui', 'width'),
|
||||
config.getInt('Gui', 'height'))
|
||||
|
||||
resize_factor = min(min((gui_size[i] / self.captureSize[i]
|
||||
for i in range(2))), 1)
|
||||
|
||||
self._preview_size = tuple(int(self.captureSize[i] * resize_factor)
|
||||
for i in range(2))
|
||||
|
||||
@property
|
||||
def numPictures(self):
|
||||
|
||||
@@ -98,3 +111,8 @@ class PictureDimensions:
|
||||
def thumbnailOffset(self):
|
||||
|
||||
return self._thumb_offsets
|
||||
|
||||
@property
|
||||
def previewSize(self):
|
||||
|
||||
return self._preview_size
|
||||
|
||||
@@ -121,6 +121,7 @@ class Camera:
|
||||
if self._is_preview:
|
||||
while self._comm.empty(Workers.CAMERA):
|
||||
picture = ImageOps.mirror(self._cap.getPreview())
|
||||
picture = picture.resize(self._pic_dims.previewSize)
|
||||
self._comm.send(Workers.GUI,
|
||||
StateMachine.CameraEvent('preview', picture))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user