如何制作带有透明度的图片

您所在的位置:网站首页 像素透明度 如何制作带有透明度的图片

如何制作带有透明度的图片

#如何制作带有透明度的图片| 来源: 网络整理| 查看: 265

首先理解图片的构成

一张图片可以理解为由 m x n 个像素组成的。 一个像素又有很多种表现形式。

比如:

RGB RGB + Alpha GRAY 其他 RGB 每一个像素由 24 位组成, 用10进制表示 [255(R) 255(G) 255(B)] (白色) 一张 mxn 的图片就是一个 3维数组 [ [[255 255 255] [255 255 255] ... ... ... n列] [[255 255 255] [255 255 255] ... ... ... ...] ... ... ... m 行 ] RGB + Alpha

Alpha 通道即图片透明度。

一张 mxn 的图片也是一个 3维数组 第3维多了一个alpha 通道, 1(255)不透明,0(0)全透明 [ [[255 255 255 255] [255 255 255 255] ... ... ... n列] [[255 255 255 255] [255 255 255 255] ... ... ... ...] ... ... ... m 行 ] GRAY 灰度图每一个像素 8 位 一张 mxn 的图片是一个 2 维数组 [ [255 255 255 ... ... ... n列] [255 255 255 ... ... ... ...] ... ... ... m 行 ] 制作透明图片

基于以上原理,我们可以制作透明图片

import numpy as np import cv2 # 带alpha通道读入原始图片 img = cv2.imread('alpha.png', cv2.IMREAD_UNCHANGED) # 将黑色不透明的像素改成黑色透明 img[np.all(img == [0,0,0,255],axis=2)] = [0,0,0,0] # 保存 cv2.imwrite('transparent.png',img) 原始图片.PNG 黑色背景透明.png 灰度图.png


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3