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