【发布时间】:2015-08-10 17:17:43
【问题描述】:
我有生成图像的下一个代码:
...
fig = plt.figure(figsize=size,dpi=dpi)
ax = fig.add_axes([0, 0, 1, 1])
# remove top and right spines
ax.spines['right'].set_color('none')
ax.spines['left'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['bottom'].set_color('none')
# turn off ticks
ax.xaxis.set_ticks_position('none')
ax.yaxis.set_ticks_position('none')
ax.xaxis.set_ticklabels([])
ax.yaxis.set_ticklabels([])
plt.imshow(bt, cmap='g_cm')
plt.set_cmap('g_cm') # Grayscale
plt.savefig(outfilename)
在此之后,我使用下一个代码放置具有透明度的背景(白色 - 255,255,255)。
...
img = Image.open(filename)
img = img.convert("RGBA")
pixdata = img.load()
if pixdata[x,y] == (255,255,255,255):
pixdata[x,y] = (255,255,255,0)
我可以将透明度应用于背景,但图像的几个区域保持边框((灰暗))并且边框外的一些像素是白色的。
如何去除这些边框和白色像素?
谢谢
【问题讨论】:
-
我不确定您所说的“像素超出边界”是什么意思
-
或许可以添加一些图片来展示您想要完成的工作。
-
我的精神力量告诉我 OP 有一些不是很白的像素,这些像素在图像的不透明部分附近产生了难看的锯齿状边缘。 OP 可能想要某种模糊选择,比如魔术棒工具。
标签: python python-imaging-library pillow