python alpha通道_如何在python中使numpy图像获得alpha通道值

这篇博客探讨了如何在Python中为numpy图像添加和操作alpha通道。作者遇到了在尝试使图像背景透明,删除黑色部分时遇到的错误,错误提示表明Python仅识别RGB而忽略alpha通道。通过遍历和修改图像像素,尝试将特定颜色区域设为透明,最终展示了显示带有透明效果的图像的方法。
摘要由CSDN通过智能技术生成

我试图使图像的背景透明。我把我想透明的黑色部分都切掉了。但是python给出了一个错误消息,关于只使用RBG。我得到的错误消息是“cannot copy sequence with size 4 to array axis with dimension 3”,那么如何让python识别alpha通道并允许我操作它?在import matplotlib.pyplot as plt

import os.path

import numpy as np

import PIL

def mask(row, column) :

for row in range(0, 383) :

for column in range(0, 86) :

img[row][column] = [0, 0, 0]

for row in range(230, 383) :

for column in range(0, 286) :

img[row][column] = [0, 0, 0]

for row in range(0, 50) :

for column in range(0, 286) :

img[row][column] = [0, 0, 0]

for row in range(0, 383) :

for column in range(199, 286) :

img[row][column] = [0, 0, 0]

directory = os.path.dirname(os.path.abspath(__file__))

filename = os.path.join(directory, 'PicOfNick.jpg')

img = plt.imread(filename)

fig, ax = plt.subplots(1, 1)

mask(283, 287)

np_img = np.array(img)

width = len(img[0])

height = len(img)

for h in range(48, 230) :

for w in range(84, 200) :

if np_img[h][w][0] in range(50, 90) :

np_img[h][w] = (0, 0, 0)

if sum(np_img[h][w]) == 0 :

np_img[h][w] = (0, 0, 0)

ax.imshow(np_img, interpolation='none')

fig.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值