Skip to content Skip to sidebar Skip to footer

Python - How To Convert A 24-bit PNG Image To 32-bit Using Open-cv Or PIL

I want to convert a 24-bit PNG image to 32-bit so that it can be displayed on the LED matrix. Here is the code which I have used, but it converted 24-bit to 48-bit import cv2 impor

Solution 1:

I looked at the christmas.png image in the code you linked to, and it appears to be a 624x8 pixel image with a palette and an 8-bit alpha channel.

Assuming the sample image works, you can make one with the same characteristics by taking a PNG image and adding a fully opaque alpha channel like this:

#!/usr/local/bin/python3
from PIL import Image

# Load the image and convert to 32-bit RGBA
im = Image.open("image.png").convert('RGBA')

# Save result
im.save("result.png")

I generated a gradient image and applied that processing and got this, so maybe you can try that:

enter image description here


Solution 2:

I think you have confused the color bit-depth with the size of the input image/array. From the links posted in the comments, there is no mention of 32 as a bit depth. The script at that tutorial link uses an image with 3-channel, 8-bit color (red, green, and blue code values each represented as numbers from 0-255). The input image must have the same height as the array, but can be a different width to allow scrolling.

For more on bit-depth: https://en.wikipedia.org/wiki/Color_depth


Post a Comment for "Python - How To Convert A 24-bit PNG Image To 32-bit Using Open-cv Or PIL"