我试图在一个空白的黑色图像上找到一段红色文本的精确像素高度和长度。为此,我取红色的像素值,复制并粘贴到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)作为空白画布,它会显示“图像索引超出范围”。在
如果我什么也不放,那就不管用了。在
在图像大小只使用第一个图像的大小。在
如果有人有更好的方法来做这整件事,请随时告诉我。我所要做的就是用特定的字体+大小来获得一个单词的像素高度/长度,这样我就可以把它存储在数据库中。在
如果有人能帮上忙,请提前感谢(我不知道为什么代码中没有)
你试图解决的问题听起来像是你想把你的图像调整到某个尺寸,但事先不知道这个尺寸是多少。在
PIL不支持动态大小的图像,因此您需要像以前那样创建更大的图像,然后使用图像裁剪方法。在
相关问题 更多 >
编程相关推荐