Skip to main content
Explorer
September 14, 2023
Question

PNG compression

  • September 14, 2023
  • 4 replies
  • 2902 views

Hi,

i'm using the NUCLEO U575ZI-Q board I want to compress some data I collect from analog sensors via png encoding in order to take advantage of compression, how can I do it? Are there special libraries for that?

I don't need to have the .png file but just encode the data with png encoding.

Thanks You.

    This topic has been closed for replies.

    4 replies

    Graduate II
    September 14, 2023

    I'm sure there a graphics library, commercially, or whatever, that provide PNG format support. Find something and port it to the platform.

    Visitor II
    September 15, 2023

    Eh grazie ar cazzo

     immagine_2023-09-15_115841818.png

    Super User
    September 14, 2023

    EmWin has .png support as extension (available from Segger, IIRC free). It should work for the ST emWin branch too. IIRC quite complicated, and pulls in some [de]compression code under unclear license. Of course, the decompression needs extra RAM and execution time.

     

    RturoAuthor
    Explorer
    September 15, 2023

    Thanks. It seems that STemWin is used when displays are present, I just need to encode the data in PNG format and then transmit it via LTE and I don't have a display. Also reading here https://www.st.com/en/embedded-software/stemwin.html it does not appear that the NUCLEO U575ZI-Q is supported. Can you confirm this for me? Are there any alternatives to encode data in PNG ?

    Super User
    September 15, 2023

    @Rturo So you need to create .png images on stm32?  On a rich host (PC, cloud) there are various libraries for converting images, even OpenCV

     

    Super User
    September 18, 2023

    Hmm... port any existing tool to bare metal ARM32? This will take a bit of research.

    Super User
    September 18, 2023

    Actually the research here is very simple, can be summarized in one sentence. Segger can sell you everything you need, right now - but it will cost you (obviously).