制作不规则边框图片,使用python

前言:前几日见到有的图片竟然边框不规则,于是有了兴趣

在这里插入图片描述

就像上图这类图片
上网查询后原来这是32位的png格式图片,有
( b , g , r , a l p h a ) (b,g,r,alpha) (b,g,r,alpha)
其中alpha为透明度,当透明度为alpha时就如上图,当alpha为255时就是原始色彩

在这里插入图片描述

于是发现win10自带的截屏使用如上功能就可以制作这种图片

在这里插入图片描述
在这里插入图片描述

接下来就用python写了个小程序,可以把原
( r , g , b ) < = ( 20 , 20 , 20 ) (r,g,b)<=(20,20,20) (r,g,b)<=(20,20,20)
的全部转为透明
效果如上,代码如下:

import cv2
import numpy as np
 
img = cv2.imread("pic/p4.jpg")
b_channel, g_channel, r_channel = cv2.split(img)
x,y,d=img.shape
alpha_channel = np.ones(b_channel.shape, dtype=b_channel.dtype) * 255
for i in range (x):
    for j in range (y):
        if(img[i,j,0]<=20 and img[i,j,1]<=20 and img[i,j,2]<=20):
            alpha_channel[i,j] = 0
        else:
            alpha_channel[i,j] = 255
img_BGRA = cv2.merge((b_channel, g_channel, r_channel, alpha_channel))
cv2.imwrite("pic/p2.png", img_BGRA)

图片来源网络,侵删,欢迎各位批评指正

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值