DynAIkonTrap.imdecode#
Static functions providing access to decoding byte arrays into image formats, returned data are numpy ndarrays.
Classes
|
A class containing static methods to decode image formats YUV and JPEG, depends on numpy and opencv (cv2) python packages. |
- class decoder#
A class containing static methods to decode image formats YUV and JPEG, depends on numpy and opencv (cv2) python packages. YUV formats are assumed to be YUV420, with 1.5 bytes per pixel, as described here: https://en.wikipedia.org/wiki/YUV#Y.E2.80.B2UV420p_.28and_Y.E2.80.B2V12_or_YV12.29_to_RGB888_conversion
Included methods convert a given byte array into numpy ndarrays of pixel values.
- static h264_to_jpeg_frames(h264_file: str) List[str] #
Create a list of jpeg files stored on disk for every frame in the h264 recording file. If no valid file is given, returns empty list
- Parameters
h264_file (str) – file path to a h264 encoded recording
- Returns
list of file paths to saved jpeg images, one per h264 encoded frame. All files saved within the /tmp/ directory for further moving around. If the h264 path given, an empty list is returned
- Return type
List[str]
- static h264_to_mp4(h264_file: str, video_framerate: int, suffix: str = '.mp4') str #
This wraps H264 files in the mp4 container format, this is performed calling FFMPEG. Video framerate is also required
- Parameters
h264_file (str) – The path to the h264 file to be converted
video_framerate (int) – The video framerate
suffix (str, optional) – An optional video suffix to produce other file formats such as .avi. Defaults to “.mp4”.
- Returns
Path to the generated mp4 file on disk. This file may be empty if the encoding process fails.
- Return type
str
- static jpg_buf_to_bgr_array(buf: bytes) ndarray #
Wraps around the OpenCV imdecode method, to decode colour jpeg images produces a numpy ndarray in BGR format of uncompressed data
- Parameters
buf (bytes) – a bytes buffer containing image data compressed in jpeg format, data is assumed to be a 3-channel, colour image
- Returns
an ndarray with size (width, height, 3) where each element is a pixel, pixel format is BGR, one byte per colour
- Return type
np.ndarray
- static yuv_buf_to_bgr_array(buf: bytes) ndarray #
converts a given byte buffer in YUV420 format into an ndarray of pixel values in BGR format. Code inspired from Picamera example, availble: https://picamera.readthedocs.io/en/release-1.13/recipes2.html#unencoded-image-capture-yuv-format
- Parameters
buf (bytes) – a bytes object containing the raw pixel data in YUV format. Dimensions of the buffer are assumed to be square, the width and height are calculated from this from using the buffer length.
- Returns
an ndarray with size (width, height, 3) where each element is a pixel, pixel format is BGR, one byte per colour
- Return type
np.ndarray
- static yuv_to_png_temp_file(buf: bytes) str #
converts a given buffer in YUV420 format into a temporary png file stored on disk
- Parameters
buf (bytes) – a bytes object containing the raw pixel data in YUV format. Dimensions of the buffer are assumed to be square, the width and height are calculated from this from using the buffer length.
- Returns
path to png file on disk, returns empty string if no file could be created
- Return type
str