如何制作带有透明度的图片 |
您所在的位置:网站首页 › 像素透明度 › 如何制作带有透明度的图片 |
首先理解图片的构成
一张图片可以理解为由 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 + AlphaAlpha 通道即图片透明度。 一张 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) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |