Picamera

Latest version: v1.13

Safety actively analyzes 629811 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

1.7

* Text overlay on preview, image, and video output is now possible (`16`_)
* Support for more than one camera on the compute module has been added, but
hasn't been tested yet (`84`_)
* The :attr:`~PiCamera.exposure_mode` ``'off'`` has been added to allow locking
down the exposure time, along with some new recipes demonstrating this
capability (`116`_)
* The valid values for various attributes including :attr:`~PiCamera.awb_mode`,
:attr:`~PiCamera.meter_mode`, and :attr:`~PiCamera.exposure_mode` are now
automatically included in the documentation (`130`_)
* Support for unencoded formats (YUV, RGB, etc.) has been added to the
:meth:`~PiCamera.start_recording` method (`132`_)
* A couple of analysis classes have been added to :mod:`picamera.array` to
support the new unencoded recording formats (`139`_)
* Several issues in the :class:`~PiBayerArray` class were fixed; this should
now work correctly with Python 3, and the :meth:`~PiBayerArray.demosaic`
method should operate correctly (`133`_, `134`_)
* A major issue with multi-resolution recordings which caused all recordings
to stop prematurely was fixed (`136`_)
* Finally, an issue with the example in the documentation for custom encoders
was fixed (`128`_)

Once again, many thanks to the community for another round of excellent bug
reports - and many thanks to 6by9 and jamesh for their excellent work on the
firmware and official utilities!

.. _16: https://github.com/waveform80/picamera/issues/16
.. _84: https://github.com/waveform80/picamera/issues/84
.. _116: https://github.com/waveform80/picamera/issues/116
.. _128: https://github.com/waveform80/picamera/issues/128
.. _130: https://github.com/waveform80/picamera/issues/130
.. _132: https://github.com/waveform80/picamera/issues/132
.. _133: https://github.com/waveform80/picamera/issues/133
.. _134: https://github.com/waveform80/picamera/issues/134
.. _136: https://github.com/waveform80/picamera/issues/136
.. _139: https://github.com/waveform80/picamera/issues/139

1.6

* The :attr:`~PiCamera.awb_gains` attribute is no longer write-only; you can
now read it to determine the red/blue balance that the camera is using
(`98`_)
* The new read-only :attr:`~PiCamera.exposure_speed` attribute will tell you
the shutter speed the camera's auto-exposure has determined, or the shutter
speed you've forced with a non-zero value of :attr:`~PiCamera.shutter_speed`
(`98`_)
* The new read-only :attr:`~PiCamera.analog_gain` and
:attr:`~PiCamera.digital_gain` attributes can be used to determine the amount
of gain the camera is applying at a couple of crucial points of the image
processing pipeline (`98`_)
* The new :attr:`~PiCamera.drc_strength` attribute can be used to query and set
the amount of dynamic range compression the camera will apply to its output
(`110`_)
* The *intra_period* parameter for :meth:`~PiCamera.start_recording` can now be
set to `0` (which means "produce one initial I-frame, then just P-frames")
(`117`_)
* The *burst* parameter was added to the various :meth:`~PiCamera.capture`
methods; users are strongly advised to read the cautions in the docs before
relying on this parameter (`115`_)
* One of the advanced recipes in the manual ("splitting to/from a circular
stream") failed under 1.5 due to a lack of splitter-port support in the
circular I/O stream class. This has now been rectified by adding a
*splitter_port* parameter to the constructor of :class:`~PiCameraCircularIO`
(`109`_)
* Similarly, the :mod:`array extensions <picamera.array>` introduced in 1.5
failed to work when resizers were present in the pipeline. This has been
fixed by adding a `size` parameter to the constructor of all the custom
output classes defined in that module (`121`_)
* A bug that caused picamera to fail when the display was disabled has been
squashed (`120`_)

As always, many thanks to the community for another great set of bug reports!

.. _98: https://github.com/waveform80/picamera/issues/98
.. _109: https://github.com/waveform80/picamera/issues/109
.. _110: https://github.com/waveform80/picamera/issues/110
.. _115: https://github.com/waveform80/picamera/issues/115
.. _117: https://github.com/waveform80/picamera/issues/117
.. _120: https://github.com/waveform80/picamera/issues/120
.. _121: https://github.com/waveform80/picamera/issues/121

1.5

functionality:

* The new :mod:`picamera.array` module provides a series of custom output
classes which can be used to easily obtain numpy arrays from a variety of
sources (`107`_)
* The *motion_output* parameter was added to :meth:`~PiCamera.start_recording`
to enable output of motion vector data generated by the H.264 encoder. A
couple of new recipes were added to the documentation to demonstrate this
(`94`_)
* The ability to construct custom encoders was added, including some examples
in the documentation. Many thanks to user Oleksandr Sviridenko (d2rk) for
helping with the design of this feature! (`97`_)
* An example recipe was added to the documentation covering loading and
conversion of raw Bayer data (`95`_)
* Speed of unencoded RGB and BGR captures was substantially improved in both
Python 2 and 3 with a little optimization work. The warning about using
alpha-inclusive modes like RGBA has been removed as a result (`103`_)
* An issue with out-of-order calls to :meth:`~PiCamera.stop_recording` when
multiple recordings were active was resolved (`105`_)
* Finally, picamera caught up with raspistill and raspivid by offering a
friendly error message when used with a disabled camera - thanks to Andrew
Scheller (lurch) for the suggestion! (`89`_)

.. _89: https://github.com/waveform80/picamera/issues/89
.. _94: https://github.com/waveform80/picamera/issues/94
.. _95: https://github.com/waveform80/picamera/issues/95
.. _97: https://github.com/waveform80/picamera/issues/97
.. _103: https://github.com/waveform80/picamera/issues/103
.. _105: https://github.com/waveform80/picamera/issues/105
.. _107: https://github.com/waveform80/picamera/issues/107

1.4

* The *sei* parameter was added to :meth:`~PiCamera.start_recording` to permit
inclusion of "Supplemental Enhancement Information" in the output stream
(`77`_)
* The :attr:`~PiCamera.awb_gains` attribute was added to permit manual control
of the auto-white-balance red/blue gains (`74`_)
* A bug which cause :meth:`~PiCamera.split_recording` to fail when low
framerates were configured was fixed (`87`_)
* A bug which caused picamera to fail when used in UNIX-style daemons, unless
the module was imported *after* the double-fork to background was fixed
(`85`_)
* A bug which caused the :attr:`~PiCamera.frame` attribute to fail when queried
in Python 3 was fixed (`80`_)
* A bug which caused raw captures with "odd" resolutions (like 100x100) to
fail was fixed (`83`_)

Known issues:

* Added a workaround for full-resolution YUV captures failing. This
isn't a complete fix, and attempting to capture a JPEG before attempting to
capture full-resolution YUV data will still fail, unless the GPU memory split
is set to something huge like 256Mb (`73`_)

Many thanks to the community for yet more excellent quality bug reports!

.. _73: https://github.com/waveform80/picamera/issues/73
.. _74: https://github.com/waveform80/picamera/issues/74
.. _77: https://github.com/waveform80/picamera/issues/77
.. _80: https://github.com/waveform80/picamera/issues/80
.. _83: https://github.com/waveform80/picamera/issues/83
.. _85: https://github.com/waveform80/picamera/issues/85
.. _87: https://github.com/waveform80/picamera/issues/87

1.3

* The *bayer* parameter was added to the ``'jpeg'`` format in the capture
methods to permit output of the camera's raw sensor data (`52`_)
* The :meth:`~PiCamera.record_sequence` method was added to provide a cleaner
interface for recording multiple consecutive video clips (`53`_)
* The *splitter_port* parameter was added to all capture methods and
:meth:`~PiCamera.start_recording` to permit recording multiple simultaneous
video streams (presumably with different options, primarily *resize*)
(`56`_)
* The limits on the :attr:`~PiCamera.framerate` attribute were increased after
firmware 656 introduced numerous new camera modes including 90fps recording
(at lower resolutions) (`65`_)

And partly bug fixes:

* It was reported that Exif metadata (including thumbnails) wasn't fully
recorded in JPEG output (`59`_)
* Raw captures with :meth:`~PiCamera.capture_continuous` and
:meth:`~PiCamera.capture_sequence` were broken (`55`_)

.. _52: https://github.com/waveform80/picamera/issues/52
.. _53: https://github.com/waveform80/picamera/issues/53
.. _55: https://github.com/waveform80/picamera/issues/55
.. _56: https://github.com/waveform80/picamera/issues/56
.. _59: https://github.com/waveform80/picamera/issues/59
.. _65: https://github.com/waveform80/picamera/issues/65

1.2

* A bug introduced in 1.1 caused :meth:`~PiCamera.split_recording` to fail if
it was preceded by a video-port-based image capture (`49`_)
* The documentation was enhanced to try and full explain the discrepancy
between preview and capture resolution, and to provide some insight into
the underlying workings of the camera (`23`_)
* A new property was introduced for configuring the preview's layer at runtime
although this probably won't find use until OpenGL overlays are explored
(`48`_)

.. _23: https://github.com/waveform80/picamera/issues/23
.. _48: https://github.com/waveform80/picamera/issues/48
.. _49: https://github.com/waveform80/picamera/issues/49

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.