An open API service indexing awesome lists of open source software.

https://github.com/flexrobotics/roboflex_util_png

Roboflex in-memory compression of rgb images to and from pngs.
https://github.com/flexrobotics/roboflex_util_png

png roboflex

Last synced: 2 months ago
JSON representation

Roboflex in-memory compression of rgb images to and from pngs.

Awesome Lists containing this project

README

        

# roboflex.util.png

Roboflex support for png compression to file and memory, and png decompression from memory.

Useful for compressing images over slow transports (wifi, etc).

## System Dependencies

None! We build lodepng from source...

## pip install

pip install roboflex.util.png

## Import

import roboflex.util.png as rup

## Nodes

There are two complementary nodes: `PNGCompressor`, which can turn rgb tensors into pngs in memory, and `PNGDecompressor`, which does the opposite. Useful either for writing rgb tensors to files, or compressing them.

# all parameters are optional
c = rup.PNGCompressor(

# in the incoming message, where to find the rgb tensor
image_key = "rgb",

# in the outgoing message, where to place the jpeg data
output_key = "png",

# If this is provided, will ALSO write jpeg files with this
# prefix, with a variation of the date and time as the suffix.
filename_prefix = "",

# name of the node
name = "PNGCompressor",

# prints internal info
debug = False,
)

... and ...

c = rup.PNGDecompressor(

# in the incoming message, where to find the png data as a blob
input_key = "png",

# in the outgoing message, where to place the rgb data as a tensor
output_key = "rgb",

# name of the node
name = "PNGDecompressor",

# prints internal info
debug = False,
)