首页 > 解决方案 > python OpenCV:将 png 转换为 16 位 RGBA png 图像以用于电子纸显示

问题描述

使用OpenCV在python中将RGB图像转换为RGBA的方法是什么?我的要求很具体,因为我试图在 E-Paper Display 上显示图像。我需要将图像转换为 16 位 RGBA。我编写的代码正在转换图像,但它是全黑的。我尝试将 1 位深图像转换为 RGBA? NumPy也将这些解决方案转换为 8 位到 16/32 位图像。我必须在 Linux 上使用GMU 图像编辑器手动转换它然后才能工作。由于我正在尝试打开 pdf 并将每个页面转换为图像以将其显示在 E-Paper Diaplay 上。我不能走那条路。

i = cv2.imread(FNAME, cv2.IMREAD_UNCHANGED) 
img = np.array(i, dtype=np.uint16) 
img *= 256 
filename = 'khrgb.png'
cv2.imwrite(filename, img) 

标签: pythonopencvrgba

解决方案


使用 cv2.cvtColor

rgba=cv2.cvtColor(i,cv2.COLOR_BGR2RGBA)

推荐阅读