使用PIL创建特定大小的新图像

2024-04-27 04:40:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在一个空白的黑色图像上找到一段红色文本的精确像素高度和长度。为此,我取红色的像素值,复制并粘贴到x,y矩阵中。然后我创建一个新图像并粘贴结果。但是,我无法获得输出图像的大小与所提取文本的高度和长度完全相同。在

img = Image.open("word.png")
img = img.convert("P")
his = img.histogram()

values = {}
for i in range(256):
values[i] = his[i]

for j,k in sorted(values.items(), key=itemgetter(1), reverse=True)[:10]:
print j,k

img2  = Image.new("P",img.size,255) #THIS SIZE MODE IS WHAT I CAN'T FIX
img = img.convert("P")

temp = {}
for x in range(img.size[1]):
for y in range(img.size[0]):
    pix = img.getpixel((y,x))
    temp[pix] = pix
    if pix == 15 or pix == 11 or pix == 12 or pix == 14:
        img2.putpixel((y,x),0)
img2.save("output.png")

在我的评论中:

如果我把(0,0)作为空白画布,它会显示“图像索引超出范围”。在

如果我什么也不放,那就不管用了。在

在图像大小只使用第一个图像的大小。在

如果有人有更好的方法来做这整件事,请随时告诉我。我所要做的就是用特定的字体+大小来获得一个单词的像素高度/长度,这样我就可以把它存储在数据库中。在

如果有人能帮上忙,请提前感谢(我不知道为什么代码中没有)


Tags: orin图像文本imgforsize高度