python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python生成png

python生成png的方法

作者:AI算法网奇

本文主要介绍了python生成png的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

python 读取保存png格式透明通道

mask_img=cv2.imread(mask_file, cv2.IMREAD_UNCHANGED)
img=cv2.flip(img,1)
mask_img=cv2.flip(mask_img,1)
cv2.imwrite("_l_mask.png", mask_img)

python读取保存png图片

from PIL import Image
# 读取PNG图像
image = Image.open("input.png")
# 确保图片处于正确的模式(RGBA)
image = image.convert("RGBA")
# 保存PNG图像,同时保留透明通道
image.save("output.png", "PNG")

python 生成背景透明png

import numpy as np
import cv2
import math

img = np.zeros((230,230), dtype=np.uint8)
img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
img[:,:,:] = 255
#画星号,可以根据需要绘制其他形状
#line1 0°
color = (0,0,0)
width = 55
cv2.line(img, (115, 30), (115, 115), color, width)
#line2 72°
x2 = 115+85*math.sin(0.4*math.pi)
y2 = 115-85*math.cos(0.4*math.pi)
cv2.line(img, (115,115),(int(x2),int(y2)),color,width)
#line3 -72°
x3 = 230-int(x2)
y3 = int(y2)
cv2.line(img, (115,115), (x3,y3), color, width)
#line4 144°
x4 = 115+100*math.sin(0.2*math.pi)
y4 = 115+100*math.cos(0.2*math.pi)
cv2.line(img, (115,115), (int(x4),int(y4)), color, width)
#line5 216°
x5 = 230-int(x4)
y5 = int(y4)
cv2.line(img, (115,115), (x5,y5), color, width)
#创建四通道图片
b,g,r = cv2.split(img)
a = np.ones(b.shape,dtype=b.dtype)*255
for i in range(230):
    for j in range(230):
        if(b[i][j] == 255 and g[i][j] == 255 and r[i][j] == 255):
            a[i][j] = 0
img_al = cv2.merge((b,g,r,a))
#查看保存图片
cv2.imshow("img", img_al)
cv2.imwrite("img.png", img_al)
cv2.waitKey(0)

到此这篇关于python生成png的方法的文章就介绍到这了,更多相关python生成png内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文